与Mvvmcross和Xibs合作

时间:2013-06-06 15:00:41

标签: iphone ios xamarin mvvmcross

我正在尝试让mvvmcross为某些iOS开发工作,如果我有代码我的视图在代码中添加所有必要的控件,我可以使它工作。这是有效的,但以这种方式发展是一个巨大的痛苦。我想使用xcode中的xib文件来定义接口,但我似乎无法弄清楚如何让它工作。我有一个这样的视图类:

[Register("FirstView")]
public partial class FirstView : MvxViewController 
{
    public FirstView () : base("FirstView",null) 
    {
    }

    public FirstView(IntPtr handle) : base(handle)
    {
    }


    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();
    }
}

我添加一个名为“FirstView.xib”的iphone视图,在xcode中打开它,我遇到的第一个问题是它创建了一个视图,而不是视图控制器,所以我可以将类设置为FirstView 。所以我删除了视图,添加了一个UIViewController,它允许我将类设置为FirstView。然后我将视图拖到我的视图控制器上,并添加一个文本框,一个标签和一个按钮。我退出xcode并且Xamarin做了它的事情并创建了我的部分类的另一半。但是,当我尝试在iPhone模拟器中运行代码时,它不起作用。它启动然后立即退出而没有显示我的观点。

我在Xamarin工作室的应用程序输出窗口中看到了很多东西,也许这是相关的?

  

2013-06-06 10:47:13.666 MyAppIPhoneUI [26190:c07]应用程序窗口在应用程序启动结束时应该有一个根视图控制器   2013-06-06 10:47:13.668 MyAppIPhoneUI [26190:c07] TouchNavigation:Diagnostic:0.10需要导航   2013-06-06 10:47:13.691 MyAppIPhoneUI [26190:c07] mvx:诊断:0.13请求为空 - 假设这是一个TabBar类型的情况,在构建期间调用ViewDidLoad ...现在修补请求 - 但请注意施工期间虚拟呼叫的问题   2013-06-06 10:47:13.697 MyAppIPhoneUI [26190:c07] mvx:警告:0.13异常屏蔽NullReferenceException:对象引用未设置为对象的实例         在Cirrious.MvvmCross.ViewModels.MvxViewModelLoader.LoadViewModel(Cirrious.MvvmCross.ViewModels.MvxViewModelRequest请求,IMvxBundle savedState)[0x00000]

知道问题可能是什么?实际上是否可以在xib中定义我的视图并仍使用mvvmcross?我见过slodge的YouTube,他使用xib来定义UITableCellView,但不是整个视图。

1 个答案:

答案 0 :(得分:1)

从跟踪开始,“不开始”问题与:

有关
  

对象引用未设置为Cirrious.MvvmCross.ViewModels.MvxViewModelLoader.LoadViewModel

中对象的实例

我不确定是什么造成的 - 从跟踪和描述中很难说 - 如果你把一个示例项目放在某个地方,那么mvx的某个人可以看看。


或者,还有一些用于使用XIB的最新视频

这些包含在此N + 1索引中 - http://mvvmcross.wordpress.com

特别参见: