我将UIView设置为隐藏在View Controller(产品菜单)上,然后用户通过tableview单元单击产品。当他们点击返回初始视图控制器时,我想使第一个VC中的UIView可见。
当我使用下面的代码时,我得到以下错误:线程1:致命错误:意外地发现nil,同时隐式展开了一个可选值
{
//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)
}
}
答案 0 :(得分:0)
在显示/加载vc之前,您无法访问任何插座,因为我将为零。
选项1
menuCV.loadViewIfNeeded()
menuCV.basketView.isHidden = false
选项2
添加布尔值
menuCV.hideBasket = false
然后将其设置在viewDidLoad
的{{1}}内
MenuViewController