ios - 在 iOS 上将大型文本资源读入数组

标签 ios

我的包中有大量文本资源。这是一个 CSV,其中包含诸如

之类的行
0,1,100,2.2345

超过 9MB。打开并按顺序读取它的最佳方式是什么,这样我就可以执行以下操作:

myObject->initData(col0, col1, col2, col3);

(这只是将浮点值填充到由文件中的整数索引的多个多维数组之一中。)

我尝试使用 [NSString stringWithContentsOfFile:] 将其读入字符串,并使用 NSScanner 对其进行循环,但我不想使内存加倍使用,即使是暂时的。它也很慢。

最好的方法是什么?

谢谢

最佳答案

您可以使用NSFileHandle或C API来增量读取,也可以将mmap与NSData结合使用。

剩下的就是基本的 cstring 缓冲区处理,或者您可以逐行使用 NSString

如果您可以将其导出为二进制浮点序列而不是 CSV,您的生活可能会更轻松。

关于ios - 在 iOS 上将大型文本资源读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424871/

相关文章:

ios - 将文件转换为 Swift 3 : unable to infer closure type in the current context

iOS - 像 Path 这样的应用程序如何优化每个单元格(几乎)不同的表格单元格?

iphone - 如何从苹果 RSS 提要中识别 iOS 通用应用程序

ios - 如何访问 UITableView 中特定部分的页脚或页眉 View ?

ios - 通过 NavigatorIOS 传递 Redux 状态

android - AdMob 如何检测开发者点击?

iOS虚拟 channel 教程

objective-c - 如何在iOS中从字符串中切出字符串?

ios - 如何检测来自 iOS native 应用程序中推文的链接

ios - 重用 UITableViewCells 来显示喜欢的状态?