0

我试图让 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:诊断:0.10 导航请求 2013-06-06 10:47:13.691 MyAppIPhoneUI[26190:c07] mvx:诊断:0.13 请求为空 - 假设这是在构造期间调用 ViewDidLoad 的 TabBar 类型情况......现在修补请求- 但请注意施工期间虚拟调用的问题 2013-06-06 10:47:13.697 MyAppIPhoneUI[26190:c07] mvx:警告:0.13 异常屏蔽 NullReferenceException:对象引用未设置为 Cirrious.MvvmCross 的对象实例.ViewModels.MvxViewModelLoader.LoadViewModel(Cirrious.MvvmCross.ViewModels.MvxViewModelRequest 请求,IMvxBundle 保存状态)[0x00000]

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

4

1 回答 1

1

从跟踪来看,“没有开始”问题与:

对象引用未设置为 Cirrious.MvvmCross.ViewModels.MvxViewModelLoader.LoadViewModel 处的对象实例

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


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

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

特别是,请参阅:

于 2013-06-06T15:15:52.130 回答