我有一个应用程序,用户可以选择一个特定的主题位置显示。我将选择的主题objectID存储在NSUserDefaults中,这样当应用程序重新启动时,选择的主题仍然完好无损。
在整个应用程序中,我都引用了这个选定的主题。我目前有一个类变量来保存名称,但是有时我需要检索对象本身的属性(即objectID属性)。为此,我从核心数据检索对象,然后访问我的值。
我担心这样做所需的处理时间,所以我的问题是-更好的选择是什么……?
1)将objectID存储在内存中,并查询核心数据,以便在每次需要访问属性时检索对象。我认为这更便宜,因为我使用的内存更少,但处理成本更高。
2)将actaul对象存储在内存中,然后随时简单地访问该对象。我认为这在处理方面更便宜,但在内存使用方面可能更昂贵。
发布于 2011-04-06 23:18:49
无论哪种方式,这都无关紧要。Core Data通过ID检索单个对象所需的时间实际上为0。单个托管对象所使用的内存量(假设该对象不包含一堆图像数据元素)将可以忽略不计。
将你的决定建立在最容易实现和最容易维护的基础上。性能不会成为一个因素。我目前正在开发一款在Core Data中存储数百个HTML页面的应用程序,我一直在读/写/修改这些对象,没有任何明显的延迟时间。
https://stackoverflow.com/questions/5568337
复制相似问题