Yoh*_*hst 6 core-data ios10 xcode8
我有一个小的代码集,可以捕获来自监视设备的数据消息。消息包含唯一的日期/时间字段(startDts)。我将这些数据和核心数据存储到sqlite数据库中。我已经为startDts设置了约束。一切顺利,直到我收到之前已经收到的带有startDts的消息-尝试保存时收到“违反约束”。说得通。
我的问题是我似乎无法在代码中捕获它。相反,调试器仅在“ try”行上停止。
let we = WaterEvent(context: self.coreDataStack.context)
we.startDts = e.startTime as NSDate?
we.stopDts = e.endTime as NSDate?
do {
try self.coreDataStack.context.save() // << Xcode breaks here on constraint violation
}
catch {
let nserror = error as NSError
print("CoreDataStack Unresolved error \(nserror), \(nserror.userInfo)")
print("Constraint violation for: \(we.startDts)")
}
Run Code Online (Sandbox Code Playgroud)
因此,永远不会执行“ catch”代码块,即,我无法真正智能地响应约束冲突。
这是调试器输出的快照:
前三行是我的代码中的打印语句,第4行和第5行是调试器输出。
发生什么了?是“违反约束”不是引发的异常吗?
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |