【发布时间】:2013-06-08 20:41:56
【问题描述】:
我正在将 2-5 mb 大 txt 文件读入我想在 uitextview 中呈现的 nsstrings。
现在我体验到读取整个字符串需要很长时间,尤其是因为我每次都删除换行符。
所以我决定将NSString 分成单独的页面,我可以通过两个按钮(“上一个”和“下一个”)进行导航。我做的第一件事是决定将 NSString 分成 500 个字符长的子字符串(然后在显示字符串之前删除换行符)。
现在这很好用并且速度足够快,但是有一个小问题让我很恼火,子字符串中的最后一个单词经常在中间被截断。
所以我当时所做的不是使用 500 个字符来分隔子字符串,而是使用 20 个点/句点“.”。事实证明这也很有效,直到我意识到并非所有可能加载的 txt 文件和文本都包含点/句点,因为某些语言可能没有点。
所以我正在寻找一种解决方案,我可以将长文本文件分成较小的子字符串,大约一页长,我可以导航并且不会将子字符串中的最后一个单词切成两半。任何帮助,将不胜感激。
另外我应该补充一点,我试图在 x 个数字单词(即 x 个空格)之后分开,我认为这可能是最好的解决方案,但我想不出任何其他方式,但 componentsSeparatedByString:@". " 需要很长时间,因为它贯穿整个字符串。
是否有一些枚举字符串的好方法,但仍然允许浏览页面,也许通过保存子字符串范围位置或其他方式?
【问题讨论】:
-
您能否提供有关您如何从大文件中创建字符串的 sn-p 信息?
标签: ios nsstring uitextview text-files large-files