我正在尝试将我的应用程序更新为Xcode 10(iOS 12),编辑器向我显示了很多警告消息:
实例将被立即释放,因为属性“ imageView”为“弱”
所有这些警告(我有很多,真的,真的很多)都出现在UIImageView插座上。
@IBOutlet weak var imageView : UIImageView!
let logo = UIImage(named: "Cartoon.png")
imageView = UIImageView(image:logo)
警告出现在这种行中:
imageView = UIImageView(image:logo)
一些想法?
答案 0 :(得分:0)
对不起,我找到了答案。
我现在才找到答案:
imageView.image = UIImage(named: "Cartoon.png")
忘记:
imageView = UIImageView(image:logo)
甚至:
imageView = UIImageView(image: UIImage(named: "Cartoon.png"))
只需上面的代码:
imageView.image = UIImage(named: "Cartoon.png")
答案 1 :(得分:0)
主要原因是imageView
属性
@IBOutlet weak var imageView : UIImageView!
是weak
,所以当您设置
imageView = UIImageView(image:logo)
rhs不会被lhs保留,因为它很弱,因此如果要设置图像使用,则imageView
将是nil
imageView.image = UIImage(named: "Cartoon.png")
或
https://medium.com/@gurdeep060289/color-image-new-literals-in-the-cocoa-town-7ef4f2710194
因为创建插座没有意义