如何通过ios类库从带有MVVMCross的情节提要中实例化ViewController

时间:2019-03-18 03:30:53

标签: ios xamarin.ios mvvmcross

好,所以我正在做一些原型设计并尝试以下操作:

核心项目 iOS主要主机专案 iOS类库项目

在iOS类库项目中,我有一个名为TestView.storyboard的情节提要。在故事板中,我有一个ViewController,将StoryboardId设置为TestView,并选中了使用Storyboard ID。文件所有者的类设置为名为TestView的视图控制器。

TestView控制器装饰有MvxFromStoryboard。

TestView控制器继承自MvxViewController。

iOS主机项目引用了iOS类库项目。

iOS Host项目有一个主视图,该主视图有一个iOS容器视图,我已经命名了它,并且在designer.cs中生成了一个出口。

iOS类库项目有一个试图初始化TestView控制器并返回视图的类:

var vmRequest = MvxViewModelRequest.GetDefaultRequest(typeof(TestViewModel));

    var viewController = new MvxViewController();
    var myView = viewController.CreateViewControllerFor<TestViewModel>(vmRequest) as TestView;

    return myView.View;

在iOS Host项目的主视图的ViewDidAppear中,我具有以下内容:

var view = _classLibraryProvider.GetView();
MyViewContainer.AddSubview(view);

但是尝试调用CreateViewControllerFor时出现以下错误消息:

未处理的异常:

System.Collections.Generic.KeyNotFoundException:找不到ClassLibraryProject.TestViewModel的视图

我完全不正确地这样做吗?

0 个答案:

没有答案