如何使用合并策略捕获Core Data中的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用合并策略捕获Core Data中的错误相关的知识,希望对你有一定的参考价值。

DataBaseService.getContext().mergePolicy = NSMergePolicy.error
Unique attribute is phone. 

当我再次用当前手机保存对象时,我的应用程序崩溃了下一个:

fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=133021 "(null)" UserInfo={conflictList=(
    "NSConstraintConflict (0x600000071cc0) for constraint

我怎么能抓到这个错误?

答案

不确定它是否是您要查找的内容,但您可以将save命令包装在do-catch块中,然后检查catch语句中的错误类型。

  do {
      try managedObjectContext.save()
    }
    catch {
      print (error)
      //Custom logic to handle error
    }

当我遇到类似的问题时,这个链接帮助了我[https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/Concurrency.html#//apple_ref/doc/uid/TP40001075-CH24-SW1]

以上是关于如何使用合并策略捕获Core Data中的错误的主要内容,如果未能解决你的问题,请参考以下文章