Arrays swift中的二维空数组(字符串和布尔)

Arrays swift中的二维空数组(字符串和布尔),arrays,swift,2d,dimensional,Arrays,Swift,2d,Dimensional,我看到了多维数组和二维数组的一些问题,但没有一个说明如何正确实现空数组 我有一个待办事项列表,单元格中有一个复选框。目前,我将todo项存储在一个数组中,bool值存储在另一个数组中……我的应用程序开始变大,因此我更希望将它们都存储在一个数组中 我如何正确地做到这一点 var cellitemcontent = [String:Bool]() 如果这是正确的方法,那么我在 cellitemcontent.append(item) //String: Bool does not have a

我看到了多维数组和二维数组的一些问题,但没有一个说明如何正确实现空数组

我有一个待办事项列表,单元格中有一个复选框。目前,我将todo项存储在一个数组中,bool值存储在另一个数组中……我的应用程序开始变大,因此我更希望将它们都存储在一个数组中

我如何正确地做到这一点

var cellitemcontent = [String:Bool]() 
如果这是正确的方法,那么我在

cellitemcontent.append(item) //String: Bool does not have a member named append
所以我假设这是如何声明字典而不是2D数组

另外,如何存储二维阵列?当它是1D时,我将其存储如下:

NSUserDefaults.standardUserDefaults().setObject(cellitemcontent, forKey: "cellitemcontent") // Type '[(name: String, checked: Bool)]' does not conform to protocol 'AnyObject'

您可以创建元组数组,如下所示:

var cellitemcontent:[(name:String,checked:Bool)] = []

cellitemcontent.append(name: "Anything",checked: true)

cellitemcontent[0].name    // Anything
cellitemcontent[0].checked // true
var cellitemcontent:[[AnyObject]] = []

cellitemcontent.append(["Anything", true])

cellitemcontent[0][0] as String   // Anything
cellitemcontent[0][1] as Bool     // true

NSUserDefaults().setObject(cellitemcontent, forKey: "myArray")
let myLoadedArray = NSUserDefaults().arrayForKey("myArray") as? [[AnyObject]] ?? []

myLoadedArray[0][0] as String
myLoadedArray[0][1] as Bool
如果需要使用用户默认值来存储,可以使用子数组而不是元组,如下所示:

var cellitemcontent:[(name:String,checked:Bool)] = []

cellitemcontent.append(name: "Anything",checked: true)

cellitemcontent[0].name    // Anything
cellitemcontent[0].checked // true
var cellitemcontent:[[AnyObject]] = []

cellitemcontent.append(["Anything", true])

cellitemcontent[0][0] as String   // Anything
cellitemcontent[0][1] as Bool     // true

NSUserDefaults().setObject(cellitemcontent, forKey: "myArray")
let myLoadedArray = NSUserDefaults().arrayForKey("myArray") as? [[AnyObject]] ?? []

myLoadedArray[0][0] as String
myLoadedArray[0][1] as Bool

谢谢,你能帮我回答更新的问题吗?天哪,我是个笨蛋,现在我无法将cell.textlab?.text=cellitemcontentindexPath.row作为字符串使用…cellitemcontent[indexPath.row][0]