【发布时间】:2016-04-11 19:29:35
【问题描述】:
我有一个用数字填充的文本文件,并按如下方式读取文件内容
func arrayFromContentsOfFileWithName(fileName: String) -> [String]? {
guard let path = NSBundle.mainBundle().pathForResource(fileName, ofType: "txt") else {
return nil
}
do {
let content = try String(contentsOfFile:path, encoding: NSUTF8StringEncoding)
return content.componentsSeparatedByString("\n")
} catch _ as NSError {
return nil
}}
但是,当我检查性能时, content.componentsSeparatedByString("\n") 似乎存在瓶颈,如下所示:
有人可以提出解决此问题的方法吗?或者可以将整个文本文件一次性读取为双精度值,如下所示:
let B1: [Float] = [0.0584000014, 0.0905999988, 0.0916000009, 0.0640999973, 0.0824000016, 0.0960000008, 0.0776999965, 0.0936999992, 0.0908999965, 0.0568999983, 0.0654999986, 0.0535999984, 0.0901999995, 0.0724999979, 0.104900002, 0.0798000023, 0.0962999985, 0.0914999992, 0.0680999979, 0.110100001, 0.0648000017, 0.103299998, 0.077200003, 0.0821999982, 0.0778999999, 0.074000001, 0.0710999966, 0.108499996, 0.060899999, 0.0697000027, 0.0841000006, 0.061900001]
【问题讨论】:
-
为什么不使用 plist 而不是常规的文本文件?
-
@Leo Dabus,如何使用 plist 读取值?有这方面的教程吗?
标签: arrays swift core-data optimization