swift - 尝试打开 UIImage 时意外发现 nil
问题描述
出于某种原因,当我尝试初始化图像时,我得到了 nil。图像保存在 Assets 文件夹中,名称正确。什么会导致它为零?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == Storyboard.groupDetailsVC {
if let vc = segue.destination as? GroupDetailsViewController {
vc.groupImageView.image = UIImage(named: "icon-checkbox")
//it outputs error
}
}
}
解决方案
问题不在图像中,而是在 Vc 加载之前访问 imageView
vc.groupImageView.image = UIImage(named: "icon-checkbox")
//
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == Storyboard.groupDetailsVC {
if let vc = segue.destination as? GroupDetailsViewController {
vc.sendedImage = UIImage(named: "icon-checkbox")
}
}
}
//
class GroupDetailsViewController:UIViewController {
@IBOutlet weak var groupImageView: UIImageView!
var sendedImage:UIImage!
override func viewDidLoad() {
super.viewDidLoad()
self.groupImageView = sendedImage
}
}
推荐阅读
- azure - Azure Web 应用“找不到有效的证书”
- python - 散景:如何通过流动态显示 X 轴的标称值?
- ruby-on-rails - nil:NilClass (NoMethodError) 的未定义方法 `-' | 红宝石/代码战问题
- sql - 如何在sql server中几秒钟后自动停止查询?
- amazon-web-services - 胶水爬虫没有组合数据 - 表格中也没有可见数据
- javascript - 如何在tinymce中获取当前光标或鼠标
- html - CLOSED CSS避免继承特定div中的输入
- zebra-printers - 在 ZPL 中使用 Zebra 自动换行序列号
- reactjs - 钩子内回调中的状态范围
- javascript - 开玩笑模拟函数的结果但不计算调用次数