Swift:具有多个plist值的数组

时间:2014-10-05 19:26:15

标签: swift nsarray plist

因为Swift可以创建具有多个值的数组,如

myArray = [ String : Boolean ]

我想用plist创建一个这样的数组,但是在xcode-editor中似乎不可能创建这样的数组(每个数组索引只能保存一个值)。任何想法?

2 个答案:

答案 0 :(得分:0)

您可以在swift数组中存储任意数量的值。只需使用

var myArray:[[AnyObject]] = []
myArray.append([1,2,"abc"])   //store at 0 index

上面的示例是AnyObject数组的数组,因此您可以存储任何类型的值。您可以创建Dictionaries的数组

在您的代码中,您指的是Dictionary而不是array

要存储在plist中,您必须使用NSDictionary 请参阅此answer

答案 1 :(得分:0)

是的,你可以在里面保存其他集合类型的数组 - 其他数组,元组,字典,对象等。只是一个游乐场的例子:

import Foundation

let a: [Int] = [1,2,3,4]
let b: [String] = ["a", "b", "c", "d"]

let c = [a, b]

println(c[0])

/*

(
1,
2,
3,
4
)

*/

println(c[1])

/*
(
a,
b,
c,
d
)

你的plist你可以这样做:

let a = [1,"a"]
let b = [2, "b"]

let c = [a, b]

println(c[0])

/*

(
1,
a
)

*/

println(c[1])

/*
(
(
2,
b
)
*/

如果你使用NSCoding,你可以按照你想要的方式预先安排所有数据并以该形式返回。

NSUserDefaults - How can I store an array of custom objects (Goals)