有什么区别?

在我的上下文中,我需要能够动态添加和删除对象。用户单击要检查和关闭的表的行,从而在列表中添加或删除引用的对象。

一个疯狂的猜测是,如果set没有索引,那么数组有索引项吗?

有帮助吗?

解决方案

NSSet / NSMutableSet 不会以任何特定顺序保留项目。 NSArray / NSMutableArray 确实按特定顺序存储项目。如果您正在构建表视图,那么绝对应该使用数组作为您选择的数据源。

其他提示

此外,NSMutableSet确保所有对象都是唯一的。

NSMutableArray适用于UITableView,因为元素具有索引,因此您可以返回[array count]以获取表行数,或者[array objectAtIndex:rowNumber]以轻松地将元素与行相关联。

另外,根据文档,使用NSSets测试对象成员资格的速度更快。

  

当顺序为时,您可以使用集合作为数组的替代   元素在测试对象是否重要和性能方面   包含在集合中是一个考虑因素—而数组是有序的,   对成员资格的测试比使用集合测试要慢。

有3个主要区别。 1)集合是无序的2)没有索引& 3)在数组排序,索引和放大的情况下,不能有重复值。可以存储重复的值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top