NSMutableOrderedSet为NSMutableArray

Lan*_*don 11 objective-c nsmutablearray ios nsorderedset nsmutableorderedset

array = [NSMutableArray arrayWithArray:[set allObjects]];
Run Code Online (Sandbox Code Playgroud)

这适用于NSSet,但我如何让它与一个NSMutableOrderedSet

Bra*_*red 34

NSOrderedSet类上有一个方法来获取数组[orderedSet array].然后你可以做[array mutableCopy]一个可变数组.

或者[NSMutableArray arrayWithArray:[set array]];如果你愿意,可以使用

但请注意这一点:

这将返回接收有序集的代理对象,其作用类似于不可变数组.虽然您不能通过此代理变异有序集,但原始有序集的突变将反映在代理中,并且它似乎会自发更改,因为没有创建有序集的副本.

基本上,如果你不想要这种行为,你必须复制数组.