将无序对象储存在集合中
集合是类似于数组的一组对象,只是其中包含的项目是无序的(而数组是有序的)。您通过枚举集合中的对象,或者将过滤器或测试应用到集合,来随机访问集合中的对象(使用 anyObject
方法),而不是按索引位置或通过键访问它们。
尽管集合对象在 Objective-C 编程中不如字典和数组那么常用,但它们在某些技术中是重要的集类型。在 Core Data(一种数据管理技术)中,当您声明对多关系的属性时,属性类型应该是 NSSet
或 NSOrderedSet
。集合对于 UIKit 框架中的原生触摸事件处理也很重要,例如:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { |
UITouch *theTouch = [touches anyObject]; |
// handle the touch... |
} |
有序集合是集合基本定义的一个例外。在有序集合中,集合中的项目顺序很重要。有序集合中测试成员资格比数组中要快。