如何从NSSet返回NSMutableArray


104

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

NSMutableArray *array = [set allObjects];

不过,编译器会抱怨,因为[set allObjects]返回的NSArray不是NSMutableArray。应该如何解决?

Answers:


218

由于-allObjects返回数组,因此您可以使用以下方法创建可变版本:

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

或者,如果要处理对象所有权,请执行以下操作:

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

7
注意:如果set为,则这两种方法之间存在细微差别nil
Zach Langley 2014年

-1

我通过使用NSMutableArray的方法“ addObjectsFromArray”将所有NSSet对象分配给NSMutableArray来解决崩溃问题,如下所示:

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

希望这对您有帮助。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.