【发布时间】:2015-01-10 02:19:46
【问题描述】:
NSarray 的简单问题。我将对象存储在 NSMuteableArray 中。 [obj1, obj2, obj3]
如果选择了一个对象,我想把它放在数组的前面。 IE。如果选择了obj3,那么:
[obj3, obj1, obj2]
下面的工作或复制 obj3 吗?另外,这可以成为线程安全的吗?
[myMutableArray insertObject:obj3 atIndex:0];
【问题讨论】:
-
如果在前面插入obj3,则与obj2无关。运行该行后,您的数组将是 [obj3, obj1, obj2, obj3]。
-
@DanWatkins 抱歉,我编辑了 ?并错过了那部分。我可以将它移到前面而不再次添加对象吗?并保持剩余订单不变
-
去掉,然后在前面添加
-
NSMutableArray * tempArray = [array mutableCopy]; [tempArray removeObject:obj3]; [tempArray insertObject:obj3 atIndex:0]; array = tempArray; -
@nielsbot 谢谢!我在将我的属性从 NSMuteable Array 更改为 NSArray 和通过 muteableCopy 方法操作它之间陷入困境。与同步属性相比,这似乎更容易且线程安全。
标签: ios objective-c nsarray