我一直在研究使用MvvmCross作为跨平台开发的解决方案,之前的开发仅针对iOS。我真的很喜欢故事板如何包含所有视图以及它们之间的流程。
我知道Monotouch支持他们使用我能够使用的故事板项目,但是我无法找到任何与MvvmCross一起使用的参考/示例。
目前是否支持?或者有人可以提供一些关于我如何获得此设置的提示。启动似乎是问题,因为在故事板项目中,AppDelegate中的FinishedLaunching方法通常是空的
答案 0 :(得分:1)
目前是否支持?
我不相信。
我从未使用Storyboard构建除演示应用程序之外的任何东西 - 所以我不是专家。
然而,据我所知,我认为有三个问题需要克服。
我认为这很容易解决 - 你可以添加一个覆盖到FinishedLaunching,它调用一个MvvmCross安装类来初始化IoC,插件,你的应用程序等。
public DetailViewController (MvxShowViewModelRequest request) {
}
而Storyboard需要使用以下表格:
public DetailViewController (IntPtr handle) {
}
克服这个问题更难......但好消息是它在v3中要容易得多 - v3的既定目标之一是以某种方式支持故事板 - 请参阅http://slodge.blogspot.co.uk/2013/02/mvvmcross-v3.html
如果您使用的是Storyboard,那么导航逻辑将与Storyboard和UIViewController绑定。
如果您使用的是MvvmCross,则导航逻辑与ViewModels绑定。
克服这一点相对简单 - 您可以轻松地混合和匹配概念 - 但您可能会发现您的ViewModel和Views感觉“有点奇怪”。
今天这样做是可能的,但需要几个小时的黑客攻击。
v3的测试版即将到期(几周之内 - 仅取决于我的业余时间)。一旦可用,我认为你可以更快地开始。