我的应用需要将大文件(3到7 MB的文本)加载到String数组中,即每行一个字符串。
简单的方法是使用componentsSeparatedByString或componentsSeparatedByCharactersInSet(或他们的Swift对应物),如下所示:
array = [fileContents componentsSeparatedByCharactersInSet: [NSCharacterSet newlineCharacterSet]];
一切都按预期工作,除了足够大的文件和足够旧的设备,时间长得令人无法接受。需要明确的是,在iPad 4上创建阵列需要2秒以上,在iPhone 4上需要8秒以上。
由于我无法更改客户的硬件而我无法更改组件分离...,有没有办法可以加快速度? 也许在磁盘上,而不是文本文件,更接近一个String数组(可能会加载更快)?如果是这样,怎么样?
(欢迎Swift解决方案)