【问题标题】:Tableview.reloadData doesn't workTableview.reloadData 不起作用
【发布时间】:2017-07-06 19:41:34
【问题描述】:

我有两个控制器,我想在它们之间传递数据: 这是第一个控制器,一个 tableviewcontroller。

class BooksVC: UITableViewController {

var books: [String] = []


override func viewDidLoad() {
    super.viewDidLoad()

    navigationItem.title = "Books"

}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return books.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)

    cell.textLabel?.text = books[indexPath.row] 

    return cell
}
}

这是第二个控制器,一个视图控制器

class AddController: UIViewController {
@IBOutlet weak var inputField: UITextField!

override func viewDidLoad() {
    super.viewDidLoad()

}

@IBAction func done(_ sender: Any) {
    let myVC = storyboard?.instantiateViewController(withIdentifier: "BooksVC") as! BooksVC
    myVC.books.append(inputField.text!)
    myVC.tableView.reloadData()

    dismiss(animated: true, completion: nil)
}

}

Reloaddata 不起作用,你能帮帮我我会很高兴。

【问题讨论】:

  • 您使用instantiateViewController 创建了一个新的视图控制器对象,但您不执行任何操作来显示它。您是否已经有另一个应该使用的BooksVC
  • 不,我必须连接到 BooksVC 控制器,而不是创建一个新的。

标签: ios arrays swift uitableview segue


【解决方案1】:

您需要引用第一个视图控制器来执行您需要的操作。 你可以这样做:

class AddController: UIViewController {
....
weak var booksVC: BooksVC?

@IBAction func done(_ sender: Any) {
    booksVC.books.append(inputField.text!)
    booksVC.tableView.reloadData()

    dismiss(animated: true, completion: nil)
}

}

当您实例化 AddController 时,您需要传递 BooksVC 的引用。像这样的:

addController.booksVC = self

【讨论】:

    【解决方案2】:

    当你按下 doneButton 时,第二个 ViewController 好了
    驳回看法 传输数据 self.parentviewController。 book.apped(inputField.text!) self.dissmissviewcontroller

    比在第一个 VC 中你可以做这样的事情

    in viewWillAppear func{
    tableview.reloadData()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 1970-01-01
      • 2016-09-06
      相关资源
      最近更新 更多