How to return an NSMutableArray from an NSSet
-
26-09-2019 - |
Question
I'm able to put the contents of an NSSet
into an NSMutableArray
like this:
NSMutableArray *array = [set allObjects];
The compiler complains though because [set allObjects] returns an NSArray
not an NSMutableArray
. How should this be fixed?
Solution
Since -allObjects
returns an array, you can create a mutable version with:
NSMutableArray *array = [NSMutableArray arrayWithArray:[set allObjects]];
Or, alternatively, if you want to handle the object ownership:
NSMutableArray *array = [[set allObjects] mutableCopy];
OTHER TIPS
I resolved crashing by using NSMutableArray's method 'addObjectsFromArray' to assign all NSSet objects to NSMutableArray like:
[mutableArray addObjectsFromArray:[cg_Schedule.schedule_Days allObjects]];
Hope this will helps you.
For an ordered set use:
NSArray *myArray = [[myOrderedSet array] mutableCopy];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow