这是对此的跟进问题:Assign ViewController to Class or vice versa
所以我有一个名为SwipeStepViewController的ViewController,它是ORKActiveStepViewController的子类。在SwipeStep类中,我尝试使用自定义SwipeStepViewController
覆盖默认的ViewController。
我试图覆盖+stepViewControllerClass
方法并在SwipeStep类中返回我的Custom Viewcontroller:
导入ResearchKit
class SwipeStep:ORKActiveStep{
override func stepViewControllerClass(){
return SwipeStepViewController.self
}
}
但这根本不起作用。 我使用的是研究套件,但我想这是一个普遍的快速问题。
答案 0 :(得分:1)
我没有使用ResearchKit的经验,但在看了Objective-C code后我相信你的方法应该是:
<tr ng-repeat="country in countries | filter : { sign : currency || ''}">
<td class="td-border">{{country.val}}</td>
</tr>
解释您收到错误的原因:
Method不会覆盖其超类中的任何方法。
和
&#39; SwipeStepViewController.Type&#39;不能转换为&#39;()&#39;
查看您认为会覆盖的类方法(由override class func stepViewControllerClass() -> AnyClass {
return SwipeStepViewController.self
}
表示):
+
将此与您的方法进行比较:
+ (Class)stepViewControllerClass {
return [ORKFormStepViewController class];
}
既不是类方法,也不返回类,它清楚错误的来源。
答案 1 :(得分:1)
派对很晚,但我相信你的功能应如下:
foo()
答案 2 :(得分:0)
该函数应该返回一个Class。看一下关于元类型类型的Swift参考中的部分:
你的功能应该是
override func stepViewControllerClass(){
return SwipeStepViewController.self
}