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