如何在Swift

时间:2017-01-06 20:22:37

标签: arrays swift

var FloatArray:[[Float]] = [[1,2,3],[4,5,6],...,[2,5,3]]
func savefile() {
        let arrayToSave = NSArray(array: FloatArray)
    arrayToSave.write(toFile: filePath, atomically: true)
}

func loadfile() {
    if let loadArray = NSArray(contentsOfFile: filePath) as? [String]{
        //code
    }
}

第1步。

var FloatArray: [[Float]] = [[1,2,3],[4,5,6],...,[2,5,3]]

第2步。

Save the FloatArray in the String file. String = "[[1,2,3],[4,5,6],...,[2,5,3]]"

第3步。然后加载字符串文件" loadArray"将String转换为float数组。

如何在Swift中将String转换为float数组?

1 个答案:

答案 0 :(得分:0)

当您致电savefile()并撰写FloatArray时(这不是类型,因此您应在此使用camelCase名称约定,{{1类型为floatArray的...},写入的文件将类似于以下内容:

[[Float]]

这意味着写入的数据类型(浮点数组的数组)也在文件中编码,没有理由尝试读取此数据,然后将其转换为<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <array> <real>1</real> <real>2</real> <real>3</real> </array> <array> <real>4</real> <real>5</real> <real>6</real> </array> <array> <real>2</real> <real>5</real> <real>3</real> </array> </array> </plist> (这是尝试转换将失败)。

相反,只需修改您的String方法以读取文件的内容,并尝试转换为您已知的类型,即写入文件的实例的类型,即loadFile()数组(由[[Float]]实例表示)

NSArray