【发布时间】:2015-06-12 08:12:11
【问题描述】:
我得到 Swift 编译器错误 - 由于信号而导致命令失败:分段错误:11" 每当我尝试覆盖从函数中声明的 NSObject 继承的子类的函数时。
我已经尝试过使用不同的类和函数,但我都得到了错误。
- 只有在重写函数或 时才会出现错误
- 如果我删除 NSObject,它可以工作,我不会收到错误消息。
有人知道为什么会这样以及为什么从 NSObject 继承会有所不同吗?
例子:
class ParentClass: NSObject {
func returnFooString() -> String {
return "foo"
}
}
//This Fails
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
class childClass: ParentClass {
override func returnFooString() -> String {
return "bar"
}
}
}
}
//This Passes
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
class childClass: ParentClass {
func returnBarString() -> String {
return "bar"
}
}
}
}
仅当 ParentClass 不继承自 NSObject 时,才会通过重写 returnFooString 函数
【问题讨论】:
标签: swift class compiler-errors overriding nsobject