我目前正在开发一个使用 CoreData 并且关系使用 NSSet 的项目。我目前有2个问题:
如何使用索引遍历 NSSet?--> 已解决
如何删除特定对象?=> 我想我需要迭代并检查对象?
嗯,看起来我添加对象也有问题?这有什么问题:
[mySet setByAddingObject:info];
谢谢您的帮助。
mcb
我目前正在开发一个使用 CoreData 并且关系使用 NSSet 的项目。我目前有2个问题:
如何使用索引遍历 NSSet?--> 已解决
如何删除特定对象?=> 我想我需要迭代并检查对象?
嗯,看起来我添加对象也有问题?这有什么问题:
[mySet setByAddingObject:info];
谢谢您的帮助。
mcb
集合是一个无序的容器,这意味着您不能使用索引对其进行迭代。您可以使用[set allObjects]
来获取一个数组,但请记住,每次执行代码时排序不会保持一致。因此,您可能希望在迭代之前对该数组进行排序,具体取决于您在做什么。
要删除一个对象,您必须拥有一个实例NSMutableSet
并使用该removeObject:
消息。如果您只有一个 NSSet 并希望创建一个删除某个项目的新集合,您将使用如下代码:
NSSet *mySet = /* ... */;
NSMutableSet *mutable = [NSMutableSet setWithSet:mySet];
[mutable removeObject:myObject];