我目前正在尝试设置我定义的名为MyViewController的UIViewController类的UImageView。在MyViewController类中,我有一个UIImage的出口,如下所示:
@IBOutlet weak var img: UIImageView?
然后我尝试使用:
在另一个类中设置它let vc:MyViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "test") as! MyViewController
vc.imgView!.image = UIImage(named: "wonders1.png")
问题是当我强行解包时imgView是零,我不确定为什么因为我实例化视图控制器
我的故事板图片: https://i.stack.imgur.com/ubpQN.png
错误我得到了:
fatal error: unexpectedly found nil while unwrapping an Optional value
答案 0 :(得分:0)
您正在尝试将图像添加到尚未初始化的UIImageView实例,在调用func viewDidLoad()
函数后,UIViewController实例上的视图仅 加载(有关iOS生活的更多信息,请参阅周期here)。
因此,为了完成您的任务,您应该在MyViewController中实现它:
override func viewDidLoad() {
super.viewDidLoad()
vc.imgView.image = UIImage(named: "wonders1.png")
}