这可能是一个非常愚蠢的问题,但我似乎无法找到答案。 我有这段代码将数字输入转换为双精度数据:
var array: [Double]! = []
data = try String(contentsOfFile: localFilePath as String,
encoding: NSASCIIStringEncoding)
let myStrings = data.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet())
var trial = myStrings[0].componentsSeparatedByString(",").flatMap{Double($0.stringByTrimmingCharactersInSet(.whitespaceCharacterSet()))}
array.append(trial)
因此,例如,如果我的文件包含这些数字1.2,3.4,5.6
,则输出将为[1.2,3.4,5.6]
,依此类推。
当我尝试追加我的数组时,我得到了上述错误,正确的方法是什么?谢谢。
答案 0 :(得分:4)
您要找的是appendContentsOf
,而不是append
。
flatMap
会返回[Double]
,您希望将该数组的内容附加到array
。
仅仅改变
array.append(trial)
为:
array.appendContentsOf(trial)