NSMutableSet与NSMutableArray
-
05-07-2019 - |
题
有什么区别?
在我的上下文中,我需要能够动态添加和删除对象。用户单击要检查和关闭的表的行,从而在列表中添加或删除引用的对象。
一个疯狂的猜测是,如果set没有索引,那么数组有索引项吗?
解决方案
NSSet
/ NSMutableSet
不会以任何特定顺序保留项目。 NSArray
/ NSMutableArray
确实按特定顺序存储项目。如果您正在构建表视图,那么绝对应该使用数组作为您选择的数据源。
其他提示
此外,NSMutableSet确保所有对象都是唯一的。
NSMutableArray适用于UITableView,因为元素具有索引,因此您可以返回[array count]以获取表行数,或者[array objectAtIndex:rowNumber]以轻松地将元素与行相关联。
另外,根据文档,使用NSSets测试对象成员资格的速度更快。
当顺序为时,您可以使用集合作为数组的替代 元素在测试对象是否重要和性能方面 包含在集合中是一个考虑因素—而数组是有序的, 对成员资格的测试比使用集合测试要慢。
有3个主要区别。 1)集合是无序的2)没有索引& 3)在数组排序,索引和放大的情况下,不能有重复值。可以存储重复的值。
不隶属于 StackOverflow