我有一个元组数组(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,供那些想要下载它的人使用。
答案 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'