3

CoreData 一对多默认生成NSSet,如何更改NSSetNSMutableArray?我尝试手动更改,但报错:

 _NSFaultingMutableSet filteredArrayUsingPredicate:]: unrecognized selector sent to instance 0x1ed35e40'
4

1 回答 1

12

NSSet有方法allObjects,它返回一个NSArray.

要获得一个,NSMutableArray你可以这样做:

NSMutableArray *array = [NSMutableArray arrayWithArray:myCoreDataObject.mySet.allObjects];

注意:不保证每次的顺序都相同(不订购套装)。如果订单对您很重要,请考虑NSOrderedSet改为。

另请参阅以下文档NSSet

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSSet_Class/Reference/Reference.html

PS:

您收到错误消息的原因:

NSSet(或_NSFaultingMutableSet就此而言)没有名为filteredArrayUsingPredicate.

于 2013-01-31T01:58:27.263 回答