我只是簡單地嘗試重新加載TableView與從數組中拉出的新項目和tableView不重新加載新項目。這是代碼。請幫忙嗎?
進口的UIKitTableView不重新載入數據
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var myTableView: UITableView!
@IBAction func reloadData(sender: UIButton) {
tableData = newItems
self.tableViewController.tableView.reloadData()
}
var items = ["AAA", "BBB"]
var newItems = ["XXX", "YYY"]
var tableData = [String]()
var tableViewController = UITableViewController(style: .Plain)
override func viewDidLoad() {
super.viewDidLoad()
tableData = items
var tableView = tableViewController.tableView
tableView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tableData.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)as UITableViewCell
cell.textLabel?.text = self.tableData[indexPath.row]
return cell
}
}
你設置一個委託到你的tableView? 'tableView.delegate = self'? – mikle94
糟糕的設置。你有tableViewController,但tableView本身在你的ViewController中引用,數據源和委託在這裏提供。爲什麼你有tableViewController呢?您在TableViewController的tableView上調用reloadData,而不是在此處引用的myTableView。數據源也設置在tableViewController.tableView,而不是myTableView .. –
嗨mikle90,我在viewDidLoad函數中插入了tableView.delegate = self,但它仍然沒有顯示新的數據 – Simon