我刚刚继承了一个iOS项目,其中包含苹果的研究套件 https://github.com/ResearchKit/ResearchKit (RK).
我已经升级到了最新版本的 RK,也升级到了 Swift 3。虽然我在 iOS 和 RK 上工作过,但我仍然不是很有信心。无论如何,有一类叫做SurveyTask
它实现了一个ORKOrderedTask
来自 RK。
无法覆盖已标记为不可用的“init”
在这个函数的最后,stepz
已经定义了,我们有:
super.init(identifier: "survey", steps: stepz)
我检查了ORKOrderedTask
类定义,其中有一个init
功能。
我一直在读关于初始化器 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html但还没有发现任何东西。使用override
or convenience
之前init
in SurveyTask
并没有改变任何东西。同样的错误。任何帮助将不胜感激。
XCode 版本 8.1。
以下是如何模仿无参数初始化程序并避免unavailable
error:
class MyClass: ParentWithUnavailableInitializer {
init(workaround _: Void = ()) {
// Call a designated initializer
super.init(param: "a very sensible value")
}
}
// At a call site
let obj = MyClass()
适用于 Swift 3.2 和 Swift 4。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)