我正在尝试在swift 3中的Eureka中构建一个自定义演示者行,在点按时会显示UIViewController
。
documentation建议使用以下代码:
public final class CustomPushRow<T: Equatable>: SelectorRow<PushSelectorCell<T>, SelectorViewController<T>>, RowType {
public required init(tag: String?) {
super.init(tag: tag)
presentationMode = .show(controllerProvider: ControllerProvider.callback {
return SelectorViewController<T>(){ _ in }
}, completionCallback: { vc in
vc.navigationController?.popViewController(animated: true)
})
}
}
我必须将SelectorViewController
替换为MyViewController
。但是现在它给出了以下错误(即使没有替换UIViewController名称):
无法将'ControllerProvider'类型的值转换为 期望参数类型'ControllerProvider&lt; _&gt;'
答案 0 :(得分:2)
为什么你不使用:
<<< ButtonRow("Rows") {
$0.title = $0.tag
$0.presentationMode = .segueName(segueName: "YourSegue", onDismiss: nil)
}
答案 1 :(得分:2)
在Eureka第2版中,参数completionCallback
已更改为onDismiss
。