2 summericeredtea summerICEREDTEA 于 2013.01.31 08:51 提问

core data 1对多生成的默认是NSSet 如何改成NSMutableArray呢?

在配置的时候没有看到, 手工把代码中的 NSSet改成NSMutableArray 使用的时候还是会报错
_NSFaultingMutableSet filteredArrayUsingPredicate:]: unrecognized selector sent to instance 0x1ed35e40'

1个回答

MrsSeven7
MrsSeven7   2013.01.31 10:25
已采纳

NSSet 中的allobject方法,返回一个NSSArray

获取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

补充一下出错的原因:

NSSet(或者_NSFaultingMutableSet )没有filteredArrayUsingPredicate这个方法

Csdn user default icon
上传中...
上传图片
插入图片