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数组?
答案 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