无法从nib实例化UIView。 “警告:无法加载任何Objective-C类信息”
我得到“无法加载任何Objective-C类信息,这将显着降低可用types信息的质量。” 在初始化此类的实例时在控制台中发出警告:
@IBDesignable class SystemMessage: UIView{ @IBOutlet weak var lbl_message: UILabel! var view: UIView! override init(frame: CGRect) { super.init(frame: frame) setup() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) setup() } func setup(){ view = loadViewFromNib() view.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight] addSubview(view) } func loadViewFromNib() -> UIView{ let bundle = NSBundle(forClass: self.dynamicType) let nib = UINib(nibName: "SystemMessage", bundle: bundle) let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView return view } }
执行在线停止let view = nib.instantiateWithOwner...
与“线程1:EXC_BAD_ACCESS(代码= 2 …)”
这背后有什么可能的原因?
find解决scheme。 这一切都来了解如何xibs的工作。
我所做的是为视图和文件所有者设置了课程,并连接了来自视图的所有sockets,而不是来自文件所有者。
这看起来好像你正在漫长的实例化一个视图。 你有一个类SystemMessage
的视图,它实例化一个名字为SystemMessage
的笔尖,然后把它作为视图插入:/
最简单的方法是将Xib中的根视图设置为SystemMessage
types
然后你把你的网点连接到你刚刚给出正确types的观点
这意味着你可能会失去你的代码并最终结束
import UIKit @IBDesignable class SystemMessage: UIView { @IBOutlet weak var lbl_message: UILabel! static func loadViewFromNib() -> SystemMessage { return NSBundle(forClass: self).loadNibNamed("SystemMessage", owner: nil, options: nil).first as! SystemMessage } }
这只是给你一个简单的方法来从SystemMessage.loadViewFromNib()
代码实例化你的视图。 File's Owner
可能被设置不正确在这种情况下