Здесь «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:
Что мне здесь не хватает и как я могу решить эту проблему