如何从NSSet返回NSMutableArray

时间:2010-09-30 00:34:57

标签: objective-c cocoa-touch nsmutablearray nsarray nsset

我可以将NSSet的内容放入NSMutableArray这样的内容:

NSMutableArray *array = [set allObjects];

编译器抱怨但是因为[set allObjects]返回NSArray而不是NSMutableArray。该如何解决?

3 个答案:

答案 0 :(得分:215)

由于-allObjects返回一个数组,您可以创建一个可变版本:

NSMutableArray *array = [NSMutableArray arrayWithArray:[set allObjects]];

或者,如果您想处理对象所有权:

NSMutableArray *array = [[set allObjects] mutableCopy];

答案 1 :(得分:-1)

我通过使用 NSMutableArray的方法'addObjectsFromArray'来解决崩溃,将所有 NSSet 对象分配给 NSMutableArray ,如:

[mutableArray addObjectsFromArray:[cg_Schedule.schedule_Days allObjects]];

希望这会对你有所帮助。

答案 2 :(得分:-3)

对于有序集合使用:

NSArray *myArray = [[myOrderedSet array] mutableCopy];