我有两个带自定义单元格的UITableView,第一个UITableView在UILabel和UIButton中有字符串数组.
这是我的FirstViewController(第一个UITableView)
而secondViewController(第二个UITableView)只有UILabel.
我要做的是点击例如在第二个单元格UIButton“添加到第二个表格”并使用NSUserDefaults将其传递到第二个ViewController,当我点击第一个单元格时UIButton“添加到第二个表格”它应保留第一个值并将其附加到该值并将其添加到secondViewController.
这是我的代码(在firstViewController中),但正如你在这里看到的那样我每次都发送整个数组,是否可以每次发送String并将它们一起附加到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
}
最佳答案 使用以下代码更新代码:
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
}
}