初始化程序不会从其超类错误中重写设计的初始化程序
答
你已经来到这里了几个不同的错误;我们一次处理一个。
从苹果重写便利初始化
每雨燕文档:
如果你写一个匹配的超便利的初始化,即超便利的初始化绝不可以直接通过您的子类称为子类初始化,按照上述初始化程序委托类类型中的规则。因此,你的子类不是(严格地说)提供超类初始化器的重写。因此,在提供超类方便初始值设定项的匹配实现时,不要编写超驰修饰符。
因此沟渠override
关键字,你应该设置。说到套...
在斯威夫特触摸方式升级接口1.2
iphonedev.tv的Paul Solt涵盖这Swift 1.2 fixes and breaks a few things: you should be excited!,我建议你读了整个帖子(更不用说释放指出,他链接到) ,但缺点是NSSet已被本机Set类型所取代。正如他所说:
修复:你需要更新你的方法的签名(即:整个第一线)以下:
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
他还指出,没有一个anyObject ()方法,所以你将不得不通过提供的接口来解决这个问题。
希望有帮助!
答
斯威夫特
你并不需要在
convenience
初始化的的override
关键字,因为你不能覆盖这样的初始化。
修复:删除override
关键字。
convenience init() {
self.init(frame: CGRectZero)
}
此外,无论是init()
是一个指定初始化(在STBTableViewIndex)或不是。如果是,请将convenience override init()
替换为required init()
,这意味着首先需要override
。
您可能试图使用与当前swift语法不兼容的编译器。确保你的swift代码是最新的。 – boidkan