从NSSet创建NSManagedObject时不正常崩溃

时间:2017-06-01 21:54:13

标签: ios swift core-data custom-keyboard

我有一个不规则的崩溃(在设备上有5次,在模拟器上有5次)。我设置了一个异常断点,它出现在下一行,没有任何控制台信息:

sys.argv

注意:if let carColorSet = car.carToDisplay?.allObjects as? [Display] {是NSSet

在设置异常断点之前,我会在控制台崩溃时获得以下信息:

car.carToDisplay

这里有什么想法吗?当我尝试将Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSMutableSet unionSet:]: set argument is not an NSSet' *** First throw call stack: ( 0 CoreFoundation 0x0000000102e79b0b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00000001023d6141 objc_exception_throw + 48 2 CoreFoundation 0x0000000102e00051 -[NSMutableSet unionSet:] + 1041 3 CoreData 0x0000000101b10df8 -[_NSFaultingMutableSet willReadWithContents:] + 936 4 CoreData 0x0000000101af131b -[_NSFaultingMutableSet allObjects] + 27 5 Keyboard 0x00000001018f838e转换为carToDisplay?.allObjects对象数组时,似乎发生了崩溃。

这是键盘扩展应用程序btw。

感谢您的任何意见!

1 个答案:

答案 0 :(得分:0)

问题(可能):

if let carColorSet = car.carToDisplay?.allObjects as? [Display] 

carToDisplayNSet 但是函数allObjects返回一个数组

我认为您正在尝试使用数组执行unionSet。

更新问题:

请更新您的问题,qestion没有说明正确的错误行。

问题需要做以下

  • 调用unionSet的状态。
  • unionSet的参数类型是什么。