【发布时间】:2020-03-09 17:09:17
【问题描述】:
我有一个这样的 ViewModel 专用 ViewController:
final class MyViewConrtoller<MyViewModel>: UIViewController {
var viewModel: MyViewModel?
override func viewDidLoad() {
super.viewDidLoad()
}
}
我在 InterfaceBuilder 中设置了 ViewController 的类型。 然后我尝试如下实例化它:
guard let myViewController = UIStoryboard(name: "StoryboardName", bundle: nil).instantiateViewController(withIdentifier: "MyViewController") as? MyViewController<MyViewModel> else { return }
而且看起来演员阵容失败了。确实创建了一个实例(在强制转换之前),但是当它尝试强制转换时,会返回一个 nil。
我有什么遗漏的吗?
编辑:
进一步看,我发现了一个有趣的解决方案,我将尝试。以下是可能需要的人的链接:
【问题讨论】:
标签: swift generics storyboard interface-builder