如何使用MergePolicy捕获CoreData中的错误

时间:2017-06-08 22:06:26

标签: ios swift 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

我怎么能抓住这个错误?

1 个答案:

答案 0 :(得分:0)

不确定它是否是您要查找的内容,但您可以将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]

时,此链接帮助了我