【发布时间】:2017-06-12 17:32:12
【问题描述】:
我只想更改一个名为 Network 的类中的用户列表。而且我不明白如何在 userList 更改后进行 TableView 更新。我将在下面的代码中向您展示一个示例和详细的问题。
// Network.swift
class Network {
var userList: [User] = []
// Next functions may change userList array
// For example, the data came from the server, and update the userList with new data
}
// App delegate
class AppDelegate: UIResponder, UIApplicationDelegate {
var network: Network = Network()
..
}
// File TableViewController.swift
class TableViewController: UITableViewController {
…
var userList: [User] = [] // Here I want to have a full copy of the array from Network class
override func viewDidLoad() {
super.viewDidLoad()
let appDelegate = UIApplication.shared.delegate as! AppDelegate
self.userList = appDelegate.network.userList // Just copy an array
// And I want that after each update appDelegate.network.userList I updated the table, how to do it better?
self.tableView.reloadData()
}
}
【问题讨论】:
-
你的架构非常混乱和糟糕(为什么要在 appdelegate 中保存一个 var)这个列表是如何更新的?谁是网络来检查更新的呼叫者?
标签: arrays swift uitableview