【发布时间】:2016-03-03 23:40:14
【问题描述】:
为了分解我的代码,我想从 Child 类中设置一个 stringKey,我将在父类的类 func 中获得它:
Chair.request();
Table.request();
class Furniture: NSObject {
static let requestKey : String!
class func request(){
print("class key => \(self.requestKey)")
...
}
}
class Chair: Furniture {
static let requestKey : String = "jsonchairs"
}
class Table: Furniture {
static let requestKey : String = "tables"
}
当然,我有预编译的错误信息
属性不会覆盖其超类中的任何属性
是否有解决方案,或者我需要将密钥作为参数传递?像这样:
Chair.request(key : "jsonchairs" );
Table.request(key : "tables" );
【问题讨论】:
-
这里为什么需要静态?您可以拥有一个成员变量,例如家具类型,并且可以在相应子类的初始化程序中覆盖它。
-
实例化任何类,我只使用类方法...
标签: swift static overriding var