使用其他视图中的按钮编辑UITableView

时间:2018-06-05 15:31:50

标签: ios swift uitableview delete-row editing

我有两个视图,一个带有一个按钮,当按下按钮时,我想要一个UITableView进入另一个视图处于编辑模式。 这是我的代码,当我将第二个视图代码放在viewDidLoad中时,编辑工作,但是当我从第一个视图调用它时,它会起作用。

第一次查看代码:

@IBAction func addButtClick(_ sender: UIButton) {

    let vc = GrowthMainViewController()
    vc.navigationItem.rightBarButtonItem = self.editButtonItem
    vc.editbuttpressed()     

}

第二个视图(使用tableView)代码:

 func editbuttpressed() {

    self.scheduleTableView.isEditing = true
    self.goalsTableView.isEditing = true

}

1 个答案:

答案 0 :(得分:1)

此问题源于尝试访问作为IBOutlet的tableView。目标视图控制器的出口尚未创建,这就是为什么所有IBOutlet都是零的。

对此的解决方法是在目标视图中创建一个布尔变量...

var tempBoolean: Bool? = false

然后你可以在第一个viewController中将该变量的值赋值为true,这将起作用,因为它是用值初始化的。

最后,在目标视图中启用编辑,具体取决于viewDidLoad中的布尔变量值...

if (tempBoolean == true) { 
   scheduleTableView.isEditing = true
   goalsTableView.isEditing = true
}

这些问题解决了这个问题。