Редактирование UITableView с помощью кнопки из другого представления - PullRequest
0 голосов
/ 05 июня 2018

У меня есть два вида, один с кнопкой, которую я хочу, когда кнопка нажимается, чтобы другой вид с UITableView находился в режиме редактирования.Вот мой код, редактирование работает, когда я помещаю код второго представления в viewDidLoad, но не работает, когда я вызываю его из первого просмотра.

Код первого просмотра:

@IBAction func addButtClick(_ sender: UIButton) {

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

}

Код второго вида (с таблицей):

 func editbuttpressed() {

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

}

1 Ответ

0 голосов
/ 06 июня 2018

Эта проблема возникает при попытке получить доступ к tableView, который является IBOutlet.Выходы контроллера целевого представления еще не созданы, поэтому все IBOutlets будут иметь значение nil.

Для этого было разрешено создать логическую переменную в целевом представлении ...

var tempBoolean: Bool? = false

Затем вы можете присвоить значению этой переменной значение true в первом viewController, который будет работать, поскольку она инициализируется значением.

Наконец, в вашем целевом представлении разрешите редактирование в зависимости от значения этой логической переменной в viewDidLoad ...

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

Что-то подобное решает эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...