我目前正在开发一个使用CoreData的项目,关系正在使用NSSet。我目前有两个问题:
如何使用索引迭代NSSet? - >解决
如何删除特定对象? =>我想我需要迭代并检查对象?
[mySet setByAddingObject:info];
感谢您的帮助。
MCB
答案 0 :(得分:10)
集合是无序容器,这意味着您无法使用索引对其进行迭代。您可以使用[set allObjects]
来获取数组,但请记住,每次执行代码时,顺序都不一致。因此,您可能希望在迭代之前对该数组进行排序,具体取决于您正在执行的操作。
要删除对象,您必须拥有NSMutableSet
的实例并使用removeObject:
消息。如果你只有一个NSSet并希望创建一个删除了某个项目的新集合,你可以使用这样的代码:
NSSet *mySet = /* ... */;
NSMutableSet *mutable = [NSMutableSet setWithSet:mySet];
[mutable removeObject:myObject];