Я хочу передать свойство isividden UIView из другого контроллера представления - PullRequest
0 голосов
/ 20 октября 2019

У меня UIView установлен скрытым в View Controller (меню продукта), затем пользователь щелкает продукт через ячейку просмотра таблицы. Когда они нажимают, возвращаются к начальному View Controller, я хочу сделать UIView видимым в первом VC.

Когда я использую код ниже, я получаю сообщение об ошибке: Поток 1: Неустранимая ошибка: Неожиданно обнаружен ноль при неявном развертыванииНеобязательное значение

{
//First View Controller
@IBOutlet weak var basketView: UIView!
.
.
self.basketView?.isHidden = true

//Second View Controller

@IBAction func returnBtn(_ sender: UIButton) {

  let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
  let menuCV = storyBoard.instantiateViewController(withIdentifier: "MenuViewController") as! MenuViewController

  menuCV.basketView.isHidden = false

  self.present(menuCV, animated: true, completion: nil)

    }

}

1 Ответ

0 голосов
/ 20 октября 2019

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

Опция 1

menuCV.loadViewIfNeeded()
menuCV.basketView.isHidden = false

Вариант 2

Добавьте значение bool

menuCV.hideBasket = false

Затем установите это значение внутри viewDidLoad из MenuViewController

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