Hot*_*cks 5 iphone objective-c ios
首先,我已经看到了这一点,但它似乎并不适合我的需求.
我有一个需要稀疏数组的情况.我可以拥有的一些情况,例如3000个可能的条目,只有20个分配,其他情况下我可以分配大部分或全部3000.使用NSMutableDictionary(使用整数索引值的NSString表示)似乎适用于第一种情况,但对于第二种情况,在存储和查找速度方面看起来效率都很低.对于空条目使用带有NSNull对象的NSMutableArray对于第二种情况可以很好地工作,但是对于第一种情况插入大多数3000 NSNull条目似乎有点浪费(并且它可能在UI处产生恼人的延迟).
引用的文章提到使用NSMapTable,因为它应该允许整数键,但显然该类在iPhone上不可用(我不确定我喜欢有一个不保留的对象).
那么,还有另一种选择吗?
我一直在寻找一个嵌入NSMutableSet的自定义类,其中包含一个带有整数(即元素#)和元素指针的自定义类的集合条目,并根据添加/更新/查找来编写模仿NSMutableArray(但是不插入/删除).这似乎是最合理的方法.
我已经开始定制类了,到目前为止效果很好。h+m 文件中有 322 行代码,包括内部类的东西、大量的空行、注释、description格式化程序(目前给我带来的麻烦最多)以及一些与基本概念无关的 LRU 管理代码。从性能角度来看,它似乎比我的另一个只允许尾部“稀疏”的方案工作得更快,大概是因为我能够消除很多特殊情况的逻辑。
该方法的一个好处是我可以使 API 的大部分与 NSMutableArray 相同,因此我只需要更改以某种方式引用该类的大约 25% 的行。
| 归档时间: |
|
| 查看次数: |
1170 次 |
| 最近记录: |