loadNibNamed(_:owner:options:) 崩溃

Posted

技术标签:

【中文标题】loadNibNamed(_:owner:options:) 崩溃【英文标题】:Crash on loadNibNamed(_:owner:options:) 【发布时间】:2016-08-28 17:21:59 【问题描述】:

我在CustomView.swift 中实现了一个自定义UIView。然后我尝试通过:NSBundle.mainBundle().loadNibNamed(String(CustomView), owner: self, options: nil)

在另一个名为 CustomClass.swift 的类中实例化一个 CustomView 对象

我得到以下异常:

*** NSForwarding: 警告: 'CustomClass' 类的对象 0x7faceb60e300 没有实现 methodSignatureForSelector: -- 前面的麻烦 无法识别的选择器 -[CustomClass awakeAfterUsingCoder:]

【问题讨论】:

【参考方案1】:

事实证明,loadNibNamed() 中指定为owner 的参数必须从NSObject 继承,因为正如错误消息提示的那样,所有者应该响应awakeAfterUsingCoder:。但我在 Apple 的文档中找不到这样的要求。

【讨论】:

以上是关于loadNibNamed(_:owner:options:) 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

目标 C:loadNibNamed 方法:它是如何工作的?

NSBundle 可能不会响应 +loadNibNamed:owner:options:

关闭使用 loadNibNamed 加载的 NIB

自定义 UITableViewCell:“loadNibNamed:”上的 SIGABRT

尝试替换已弃用的 loadnibnamed:owner

使用 loadNibNamed 时崩溃