2
假設我有NSManagedObject Zoo,並且他將一個ManyTo連接到'Cat'命名的cat,這個連接是NSSet。 當我使用功能「filteredSetUsingPredicate」,我得到一個崩潰與下面的代碼:在CoreData NSSet上使用'filteredSetUsingPredicate'時發生崩潰(NSInvalidArgumentException:設置參數不是NSSet)
Zoo *zoo = //intance of our zoo with all the animals - from core data
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"catSize == Big"];
NSArray *arrayOfCats = [zoo.cats filteredSetUsingPredicate:predicate];
崩潰堆棧如下:
Terminating app due to an uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSMutableSet unionSet:]: set argument is not an NSSet'
Crashed: com.apple.main-thread
1 CoreFoundation 0x180f51798 -[NSMutableSet unionSet:] + 96
2 CoreData 0x182f24154 -[_NSFaultingMutableSet willReadWithContents:] + 716
3 CoreData 0x182f05f10 -[_NSFaultingMutableSet count] + 28
4 Foundation 0x181a93828 -[NSSet(NSPredicateSupport) filteredSetUsingPredicate:] + 68
出現這種情況只有一次在一段時間,而且可能與我在後臺上下文中做的更新和刪除有關(添加或刪除貓,如果我堅持這個例子)。 任何想法如何保護我的應用程序免於崩潰?任何訪問財產貓導致崩潰。
的[在NSPredicate子查詢結果:\ [的NSMutableSet unionSet \]中設置參數不是一個NSSet中]可能的複製(http://stackoverflow.com /問題/ 30992832/nspredicate-子查詢 - 結果 - 在-的NSMutableSet-unionset - 組 - 參數 - 是 - 不的) – Larme