因为Swift可以创建具有多个值的数组,如
myArray = [ String : Boolean ]
我想用plist创建一个这样的数组,但是在xcode-editor中似乎不可能创建这样的数组(每个数组索引只能保存一个值)。任何想法?
答案 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)