【问题标题】:Improving text file reading speed in Xcode?提高 Xcode 中的文本文件读取速度?
【发布时间】:2012-05-05 04:37:09
【问题描述】:

我目前正在从事一个涉及大量文本文件读取的项目。我需要将文件的内容放入 NSStrings 中,以便进一步操作它们。我正在使用什么:

NSString *file = [[NSBundle mainBundle] pathForResource:fileName ofType:@"txt"];
NSString *fileContents = [NSString stringWithContentsOfFile:file encoding:NSUTF8StringEncoding error:nil];

它工作得很好,但是随着我的项目的增长,文本文件的数量也在增加。我开始认为应该有一种更有效的方式来搜索项目中包含的文本文件。

在许多情况下,我确切地知道要搜索的文件。我根据需要阅读的时间将文件组织到组文件夹中。有没有办法缩小初始文件搜索的范围?当我知道我需要的文件在更具体的级别上时,似乎每次搜索整个应用程序包都是没有意义的。

有什么方法可以搜索组而不是捆绑包?我可以以某种方式从搜索中排除某些文件吗?据我所知,为这个上下文定义自定义包不适合使用 NSBundle 功能。

【问题讨论】:

  • 要真正提高速度,请考虑将所有字符串添加到核心数据或 sql 数据库中,以便您可以索引它们并进行非常快速的查找(通过比较)。

标签: objective-c xcode full-text-search nsbundle


【解决方案1】:

你看过-[NSBundle pathForResource:ofType:inDirectory:]的方法吗?

【讨论】:

  • 哇,太完美了。当我查看 NSBundle 文档时,不确定我是如何错过的。好像还不够近!谢谢一百万。
【解决方案2】:

我遇到过类似的情况,为了进一步优化,我将所有资源文件都保存在字典中,并带有一些键,

你可以试试关注

1 -- 在我们的应用程序中,您可能有某种模式或在哪里可以找到主要组,

2 -- 每个组有多个字典,组内可以存储文件名,

3 -- 正如 ken 建议的那样,使用 -[NSBundle pathForResource:ofType:inDirectory:]

【讨论】:

    猜你喜欢
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多