将.plist数组读取到NSArray时筛选元素



第一篇文章-希望我做得对!

我有一个名为diction.plist的文件,其中包含大约25万个单词的数组。我想将所有长度为"n"的单词加载到NSArray中。

我知道NSArray实例方法:

  • (id)initWithContentsOfFile:(NSString*)aPath

但我看不出有任何方法可以干预将文件读取到NSArray的过程。我能看到的唯一解决方案是首先将整个词典加载到一个NSArray中,然后在循环中运行它,选择长度为"n"的元素。

我是Cocoa的新手,但我遇到过一些执行某种迭代任务的方法,它们接受每次迭代时调用的"块"代码。我想知道initWithContentsOfFile是否存在这样的功能变体,或者我如何从.plist文件中迭代读取数组并过滤我感兴趣的元素。

[如果你想知道这是否是过早优化的情况-是的;-)但我仍然想知道。]

.plist文件基本上是XML文件,因此您可以在其上使用NSXMLParser并过滤出感兴趣的元素。

如果要加载已保存数据的筛选选择,则应使用SQLite的SQL存储库。普通文件只能在内存中完全加载。

最新更新