Obj-C循环缓冲对象,实现一个?

nat*_*vra 5 iphone objective-c

我已经为iPhone开发了很长一段时间,我一直在想是否有任何数组对象在Obj-C中使用循环缓冲区?像Java的堆栈或列表或队列.我一直在修补NSMutableArray,测试它的限制......似乎在数组中的50k个简单对象之后 - 应用程序显着减慢了速度.

那么,除了NSMutableArray之外还有更好的解决方案(大量数据变得非常慢).如果没有,任何人都可以告诉我有关创建这样一个对象的方法(会涉及使用链(节点)对象??).

底线:直接从SQLite DB填充UITableView会很聪明吗?因为它不需要来自数组或任何内容的内存,而只需要查询.SQLite速度快,而不是内存磨削.

非常感谢你的时间和关注,〜纳塔纳维拉.


从我一直以来的看来,Quinn的课程似乎是最好的选择.我有另一个问题 - 从SQLite DB直接加载所有内容而不是创建一个对象并将其推入一个数组会更快或更聪明吗?

提前谢谢你~~ Natanavra.

Qui*_*lor 8

我为自己的号角做了道歉,但我在CHDataStructures中实现了一个基于C的循环缓冲区.(具体来说,检查CHCircularBufferQueueCHCircularBufferStack.)该项目是开源的,并且具有基准测试,证明与一般情况下的NSMutableArray相比,真正的循环缓冲区非常快,但结果将取决于您的数据和使用情况,以及事实您在内存受限的设备(例如iPhone)上运行.希望有所帮助!