Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将元组数组写入文本文件_Arrays_Swift - Fatal编程技术网

Arrays 将元组数组写入文本文件

Arrays 将元组数组写入文本文件,arrays,swift,Arrays,Swift,我有一个元组数组(String,String,String),我想将其写入文本文件。我尝试过不同的方法,例如: let mySwiftArray = ... // Your Swift array let cocoaArray : NSArray = mySwiftArray cocoaArray.writeToFile(filePath, atomically:true) 但这给了我一个错误: 无法将“[(String,String,String)]”类型的值转换为指定的类型“NSArray

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

let mySwiftArray = ... // Your Swift array
let cocoaArray : NSArray = mySwiftArray
cocoaArray.writeToFile(filePath, atomically:true)
但这给了我一个错误:

无法将“[(String,String,String)]”类型的值转换为指定的类型“NSArray”

如何将数组写入文件


我已经将我的项目上传给了那些想下载它的人。

问题是,尽管tuple在技术上是一种类型,但它总是不同的。为了防止其不同,您需要创建一个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'

你的元组必须是元组吗?如果你创建了一个有3个字符串值的结构会怎么样?@nsganster我对Swift比较陌生,所以请原谅我的noob问题:对于结构,每个字符串可以有多个值吗?我当前的数组如下:
listOfTasks:[(String,String,String)]=[]
我用多个元组填充它。只需创建一个数组。[[String,String,String]]元组适用于您想要链接到一起的不同类型。99%的人询问元组:他们应该使用structs@rMickeyD如何访问单个字符串?我使用的是
.0
.1
,等等。编辑:NVM,我使用了listOfTasks[0][0]作为例子。我没有回答保存到文件的问题,因为这是一个非常普遍的问题,如果你用谷歌搜索它,你会发现。