ios - 如何将一个数组添加到另一个数组
问题描述
我正在开发一个应用程序,它在 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 = ""
}
解决方案
第一:您不应该使用 userdefaults 进行临时存储
UserDefaults.standard.set(newitems, forKey: "items")
除非你保存它们以备下次启动
第二:在源vc里面创建一个数组,比如
var arr = [String]()
并附加最新的内容
arr += newitems
然后传递arr
到目标vc
推荐阅读
- powershell - 设置路径参数失败
- javascript - bootstrap-vue:b-form-datepicker 在悬停之前不会更新到 v-model
- c# - 检查触摸区域时触摸很慢
- node.js - 找不到参考错误问题来自哪里
- vue.js - 使用 vue 框架部署 Web 应用程序
- javascript - 从执行ajax请求的js函数返回bool
- javascript - 如何包含 SlideShow 和 ImageComparison
- angular - Angular 8 webpack AOT 构建失败 - 无法读取未定义的属性“地图”
- deep-learning - 损失没有减少
- django-rest-framework - 如何在 Django REST API 中创建用户配置文件对象?