【发布时间】:2021-04-12 18:20:16
【问题描述】:
我正在尝试在我的应用程序中创建一个收藏按钮,如果点击收藏的图像,它将将该地点的名称附加到一个数组中,然后将该数组传递给 UIViewController 内的表格视图。我已经让它传递了一个内部具有预定值的数组,但是当我尝试将名称附加到数组中然后传递它时,下一个视图控制器中的数组显示为空。
这是我的第一个视图控制器:
var fave: [String] = []
@IBAction func faveTapped(_ sender: UIButton) {
fave.append(name)
let defaults = UserDefaults.standard
defaults.set(fave, forKey: "faves")
}
override func viewDidLoad() {
super.viewDidLoad()
}
我在我的第二个视图控制器中有这个表视图:
class nextViewController: UIViewController {
var newArray: [String] = []
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
if let oldArray: [String] = UserDefaults.standard.object(forKey: "faves") as? [String] {
newArray = oldArray
}
print(newArray)
}
}
extension FavouritesViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return newArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let rowcell = tableView.dequeueReusableCell(withIdentifier: "rowcell", for: indexPath)
rowcell.textLabel?.text = newArray[indexPath.row]
return rowcell
}
}
【问题讨论】:
-
如果它解决了您的问题,请接受答案。它可能会帮助某人