coredata如何将默认NSSet更改为NSMutableArray

时间:2013-01-31 01:53:42

标签: iphone core-data

CoreData一对多默认生成NSSet,如何将NSSet更改为NSMutableArray?我尝试手动更改它,但收到错误:

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

1 个答案:

答案 0 :(得分: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的方法。