Cocoa 将.plist数组读入NSArray时过滤元素

Cocoa 将.plist数组读入NSArray时过滤元素,cocoa,filter,nsarray,plist,Cocoa,Filter,Nsarray,Plist,第一篇帖子-希望我做得对 我有一个文件,lexicon.plist,包含一个大约25000个单词的数组。我想把所有长度为“n”的单词装入一个NSArray 我知道NSArray实例方法: (id)initWithContentsOfFile:(NSString*)A 但我看不到任何方法可以干预将文件读入NSArray的过程。我能看到的唯一解决方案是首先将整个词典加载到一个NSArray中,然后在循环中选择长度为“n”的元素来遍历它 我是Cocoa的新手,但我遇到过一些执行某种迭代任务的方法,

第一篇帖子-希望我做得对

我有一个文件,lexicon.plist,包含一个大约25000个单词的数组。我想把所有长度为“n”的单词装入一个NSArray

我知道NSArray实例方法:

  • (id)initWithContentsOfFile:(NSString*)A
但我看不到任何方法可以干预将文件读入NSArray的过程。我能看到的唯一解决方案是首先将整个词典加载到一个NSArray中,然后在循环中选择长度为“n”的元素来遍历它

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


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

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

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

谢谢-这看起来与我所追求的最接近。这在将来肯定会派上用场,但在这方面对我来说需要更长的学习曲线与@Deepak建议的NSXMLParser相比。