Как создать экземпляр viewcontroller из раскадровки с помощью MVVMCross через библиотеку классов ios - PullRequest
0 голосов
/ 18 марта 2019

Хорошо, я делаю несколько прототипов и пробую следующее:

Основной проект Проект главного хоста iOS Проект библиотеки классов iOS

В проекте библиотеки классов iOS у меня есть раскадровка под названием TestView.storyboard.Внутри раскадровки у меня есть один ViewController, StoryboardId установлен на TestView, а флажок «Использовать Storyboard ID» отмечен.Класс для владельца файла установлен на контроллер представления с именем TestView.

Контроллер TestView снабжен MvxFromStoryboard.

Контроллер TestView наследуется от MvxViewController.

Проект iOS Host ссылается на проект библиотеки классов 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;

Внутри ViewDidAppear основного проекта iOS Host у меня есть следующее:

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

Но я получаю следующее сообщение об ошибке при попытке вызвать CreateViewControllerFor:

Необработанное исключение:

System.Collections.Generic.KeyNotFoundException: не удалось найти представление для ClassLibraryProject.TestViewModel

Я делаю это совершенно неправильно?

...