Segue не устанавливает свойство контроллера представления назначения - PullRequest
0 голосов
/ 09 мая 2018

Проблема:

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

Установка:

Мой контроллер основного вида имеет кнопку UIB, связанную с переходом Show ко второму контроллеру представления. Этот второй контроллер представления имеет коллекционное представление (это календарь), которое запускает переход Show к исходному контроллеру представления. Я пытаюсь установить переменную в первом контроллере представления с подготовкой (для segue :), вызываемой во втором контроллере представления. Без кубиков.

Код:

Контроллер основного вида:

class ViewController: UIViewController {
    var myDate=Date()

    func viewDidAppear(): {
        updateDateLabel(myDate)
    }
    ...
}

Календарь (второй) Просмотр контроллера:

class CalendarViewController: UIViewController {
    var selectedDate: Date?

    func calendar(..., didSelectDate date: Date, ...) {
        selectedDate = date
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "dateSelected" {
            let vc = segue.destination as! ViewController
            vc.myDate = self.selectedDate
        }
    }

Я подозреваю, что мой контроллер основного вида переинициализирует переменную myDate, но как мне решить эту проблему?

1 Ответ

0 голосов
/ 09 мая 2018

Нет, контроллер основного вида не будет повторно инициализировать myDate

Вы неправильно создали myDate. Пожалуйста, создайте так:

var myDate: Date?

Или

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