我有两个UITableView
个自定义单元格,第一个UITableView
包含UILabel
和UIButton
中的字符串数组。
这是我的FirstViewController(第一个UITableView
)
第二个ViewController(第二个UITableView
)只有UILabel
。
我要做的是点击例如第二个单元格UIButton
“添加到第二个表格”并使用NSUserDefaults
将数组传递到secondViewController中,当我点击在第一个单元格UIButton
“添加到第二个表”它应保留第一个值并将其附加到该值并将其添加到secondViewController。
这是我的代码(在firstViewController中),但正如你在这里看到的那样我每次都发送整个数组,是否可以每次发送字符串并将它们一起发送到NSUserDefaults
中的数组中然后在第二个UITableView
:
func add(sender:AnyObject){
NSUserDefaults.standardUserDefaults().setObject(array, forKey: "Array")
}
我试图以这种方式发送它,但它只发送一个字符串而不是一个字符串数组:
func add(sender:AnyObject){
NSUserDefaults.standardUserDefaults().setObject(array[sender.tag], forKey: "Array")
}
secondViewController中的代码:
if (NSUserDefaults.standardUserDefaults().stringForKey("Array") != nil){
array = NSUserDefaults.standardUserDefaults().objectForKey("Array")! as! NSArray
}
答案 0 :(得分:2)
使用以下代码更新您的代码:
func add(sender:AnyObject){
if (NSUserDefaults.standardUserDefaults().stringForKey("Array") != nil){
array1 = NSUserDefaults.standardUserDefaults().objectForKey("Array")! as! NSArray
}
array1.append(array[sender.tag])
NSUserDefaults.standardUserDefaults().setObject(array1, forKey: "Array")
NSUserDefaults.standardUserDefaults().synchronize()
}
secondViewController中的代码:
if (NSUserDefaults.standardUserDefaults().stringForKey("Array") != nil){
array = NSUserDefaults.standardUserDefaults().objectForKey("Array")! as! NSArray
}
}