使用 NSUserDefaults 将字符串数组保存到另一个 UITableView
Saving array of strings using NSUserDefaults into another UITableView
我有两个带有自定义单元格的 UITableView
,第一个 UITableView
在 UILabel
和 UIButton
中有字符串数组。
这是我的FirstViewController(第一个UITableView
)
而secondViewController(secondUITableView
)只有UILabel
。
我想要做的是单击第二个单元格 UIButton
"add to second table" 并使用 NSUserDefaults
将其传递到 secondViewController 的数组中,当我单击第一个单元格 UIButton
"add to second table" 它应该保留第一个值并附加此值并将其添加到 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
}
}
我有两个带有自定义单元格的 UITableView
,第一个 UITableView
在 UILabel
和 UIButton
中有字符串数组。
这是我的FirstViewController(第一个UITableView
)
而secondViewController(secondUITableView
)只有UILabel
。
我想要做的是单击第二个单元格 UIButton
"add to second table" 并使用 NSUserDefaults
将其传递到 secondViewController 的数组中,当我单击第一个单元格 UIButton
"add to second table" 它应该保留第一个值并附加此值并将其添加到 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
}
}