我想在我的代码,实现了单UIView的实例,因此每当我创建“MyView的”实例的笔尖文件将加载一次,然后再重复使用它计算性能:辛格尔顿迅速3
class MyView : UIView {
@IBOutlet weak var someLabel: UILabel!
static var customeView : UIView = {
let view = Bundle.main.loadNibNamed(String(describing: MyView.self), owner: self, options: nil)?[0] as! UIView
return view
}()
convenience init() {
self.init(frame: CGRect(x: 0, y: 0, width: 576, height: 30))
let viewForOnce = MyView.customeView
viewForOnce.frame = bounds
}
}
问题是,无论何时我打电话给MyView.customeView
,它都会崩溃,说'这个类不是关键值编码兼容',我认为这是因为计算属性中的'owner:self'而发生的。
任何帮助将不胜感激。
'这个类是不是键值编码,compliant'通常是一个Interface Builder的问题,你可以在一个延迟初始化属性 – vadian
使用'self'我加倍特别检查这一项,一切都连接!我仔细检查这一个特别和一切都连接!但如果我把所有者:MyView()而不是owner:self,那么它将工作! –
你为什么需要这种行为?为什么不在MyView类中添加ReceiptView?顺便说一句,你在做什么与单身模式无关。 – alexburtnik