将元组数组写入文本文件

时间:2016-05-31 18:48:29

标签: arrays swift

我有一个元组数组(String, String, String),我想写入文本文件。我尝试过不同的方法,例如:

let mySwiftArray = ... // Your Swift array
let cocoaArray : NSArray = mySwiftArray
cocoaArray.writeToFile(filePath, atomically:true)

但这给了我一个错误:

Cannot convert value of type '[(String, String, String)]' to specified type 'NSArray'

如何将我的数组写入文件?

我已将我的项目上传到GitHub,供那些想要下载它的人使用。

1 个答案:

答案 0 :(得分:2)

问题在于即使元组在技术上是一种类型,它也总是不同的。为了防止它不同,您需要创建一个typealias:

typealias myStringTuple = (String, String, String)

var myArray = [myStringTuple]()

myArray.append(("Hello", "Goodbye", "See you later"))

print(myArray[0].1) // prints Goodbye

基本上,您现在已经创建了自己可以重用的类型(String,String,String)。如果您想将不同类型链接在一起,这非常方便。您应该能够将其保存为普通数组,而不会出现此错误:

Cannot convert value of type '[(String, String, String)]' to specified type 'NSArray'