【问题标题】:Filtering elements while reading .plist array into NSArray在将 .plist 数组读入 NSArray 时过滤元素
【发布时间】:2011-05-26 07:39:56
【问题描述】:

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

我有一个文件 lexicon.plist,其中包含一个大约 250K 单词的数组。我想将所有长度为 'n' 的单词加载到 NSArray 中。

我知道 NSArray 实例方法:

  • (id)initWithContentsOfFile:(NSString *)aPath

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

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

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

【问题讨论】:

    标签: cocoa filter nsarray plist


    【解决方案1】:

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

    【讨论】:

    • 谢谢 - 这看起来最接近我所追求的。
    【解决方案2】:

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

    【讨论】:

    • 这肯定会在未来派上用场,但与@Deepak 建议的 NSXMLParser 相比,目前对我来说学习曲线更长。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2010-10-19
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多