在一些教程中,我看到了:
class MyClass: NSObject {
var a: String!
var b: String!
init(a: String, b: String) {
super.init()
self.a = a
self.b = b
}
}
我的印象是swift类不需要子类化任何东西。是否有人想要从NSObject中继承子类?
答案 0 :(得分:2)
NSObject
课程并不那么重要。真正重要的是NSObject
协议,在Swift中名为NSObjectProtocol
。
例如,Cocoa / CocoaTouch中的大多数协议都继承自NSObjectProtocol
。这意味着如果要使用此类协议(例如,实现委托),则必须实现NSObjectProtocol
中的所有方法。这很难,但NSObject
类为您实现了所有这些,因此最简单的解决方案是从NSObject
类继承。
答案 1 :(得分:0)
当你没有NSObject的子类时,你会失去它附带的所有很酷的东西Selector:performSelector,respondsToSelector等...... 另外 - 通过这种方式,您可以确保Swift代码对象可以与传统的Objective-C代码进行交互。