Проблема с CoreData NSBatchUpdateRequest - PullRequest
0 голосов
/ 01 июля 2019

xdatamodel

Здесь «report», «workType», «timeType», «Activity», «project» являются необязательными.

Я хочу установить отчет, workType, timeType, активность, проект ноль.

Я уже пробовал

   do {
            let updateRequest = NSBatchUpdateRequest(entityName: "TimerTable")
            updateRequest.predicate = NSPredicate(format: "user == %@ ", user)
            updateRequest.resultType = .updatedObjectsCountResultType

            var propertiesToUpdate: [AnyHashable : Any] = [:]
            for column in ["report", "workType", "timeType", "activity", "project"] {
                propertiesToUpdate[column] = NSNull()
            }

            updateRequest.propertiesToUpdate = propertiesToUpdate
            let result =  try AppDelegate.database.context.execute(updateRequest) as? NSBatchUpdateResult

            print("Reset Timer count: \(result?.result ?? 0)")
        } catch {
            print("delete error: \(error)")
        }
its throws Fatal Exception: NSInvalidArgumentException

И

do {
            let updateRequest = NSBatchUpdateRequest(entityName: "TimerTable")
            updateRequest.predicate = NSPredicate(format: "user == %@ ", user)
            updateRequest.resultType = .updatedObjectsCountResultType

            var propertiesToUpdate: [AnyHashable : Any] = [:]
            for column in ["report", "workType", "timeType", "activity", "project"] {
                propertiesToUpdate[column] = NSExpression(forConstantValue: nil)
            }

            updateRequest.propertiesToUpdate = propertiesToUpdate
                let result =  try AppDelegate.database.context.execute(updateRequest) as? NSBatchUpdateResult

            print("Reset Timer count: \(result?.result ?? 0)")
        } catch {
            print("delete error: \(error)")
        }

its throws Fatal Exception: NSInvalidArgumentException
Invalid relationship ((<NSRelationshipDescription: 0x2823046e0>), name report, isOptional 1, isTransient 0, entity TimerTable, renamingIdentifier report, validation predicates ( ), warnings ( ), versionHashModifier (null) userInfo { }, destination entity TimeReport, inverseRelationship timerEvents, minCount 0, maxCount 1, isOrdered 0, deleteRule 1) passed to propertiesToUpdate:

Что мне здесь не хватает и как я могу решить эту проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...