我想将新元素追加到数组中。我正在使用容器视图。我将addItem函数调用到tableviewcontroller。但我点击按钮没有任何反应。
我的TableViewController
import UIKit
class TableViewController: UITableViewController {
var myArray = ["1"]
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func addItem () {
myArray.append("asd")
tableView.reloadData()
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return myArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath)
// Configure the cell...
cell.textLabel?.text = myArray[indexPath.row]
return cell
}
}
我的TableViewController
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func addButton(sender: AnyObject) {
TableViewController().addItem()
}
}
答案 0 :(得分:0)
TableViewController()。addItem()行意味着创建一个全新的TableViewController实例,然后在其上调用addItem()。您需要找到对要操作的TableViewController的特定实例的引用。 ViewController如何与调用addItem的那个相关联?
答案 1 :(得分:0)
它应该是这样的:
class ViewController: UIViewController {
let tableViewController = TableViewController()
..
@IBAction func addButton(sender: AnyObject) {
tableViewController.addItem()
}
}