我正在开发一个在FirstViewController中具有textView和在SecondViewController中具有tableView的应用程序。在应用程序中,用户使用textView键入字符串,然后按一下按钮即可将其转换为数组(由IBAction buttonIsPressed指示),并在UserDefaults的帮助下将其转移到下一个视图控制器中的tableView上。现在,我希望代码每次用户在textView中键入一个字符串时,就能够将所有字符串附加到一个数组中。我已经尝试过在互联网上找到的每个方法,都可以将字符串或数组附加到一个数组中,但是它们都不起作用。如果你们中的一些人能帮助我,我将不胜感激。这是代码:
@IBAction func buttonIsPressed(_ sender: Any) {
var newitems = textField.text!.components(separatedBy: CharacterSet(charactersIn: ", []()\n.:"))
print(newitems)
if newitems.contains(""){
newitems.removeAll { $0 == ""}
UserDefaults.standard.set(newitems, forKey: "items")
print(newitems)
}else{
let newitems = textField.text!.components(separatedBy: CharacterSet(charactersIn: ", []()\n.:"))
UserDefaults.standard.set(newitems, forKey: "items")
}
textField.text = ""
}
答案 0 :(得分:0)
首先:您不应将用户默认设置用于临时存储
UserDefaults.standard.set(newitems, forKey: "items")
除非您保存它们以备下次启动
第二:在源vc之内创建一个数组,例如
var arr = [String]()
并向其添加最新内容
arr += newitems
然后将arr
传递到目标vc