[英]How to convert String to array of float in 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.然后加载String文件“ loadArray
”,将String转换为float数组。
如何在Swift中将String转换为float数组?
当调用savefile()
和写入FloatArray
(这是不是一个类型的 ,所以你应该使用camelCase
这里命名惯例, 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
实例)
func loadfile() {
if let loadArray = NSArray(contentsOfFile: filePath) as? [[Float]] {
print(loadArray) // [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [2.0, 5.0, 3.0]]
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.