Я обновил старый проект до Xamarin.iOS Unified и MvvmCross 4.1.MvvmCross - Вид не загружен
Когда я запустить приложение, я получаю следующее исключение:
MvvmCross.Platform.Exceptions.MvxException: Просмотр не загружен для MyView
Мои классы похожи:
MyView : MvxViewController<MyViewModel> {}
MvxViewController<T> : UIViewController, IMvxBindingContextOwner, IUIWrappable
where T : ViewModelBase
ViewModelBase : MvxViewModel {}
Я подозреваю, что мне не хватает интерфейса или что-то в MyView, чтобы MvvmCross мог работать правильно, но я не уверен, какой интерфейс это может быть.
Я подозреваю это, потому что мне уже пришлось жестко кодировать между отображениями View и ViewModel, чтобы MvvmCross мог найти ViewModel через отражение/автообнаружение, связанные с MyView. То есть до этой ошибки я не смог найти связанную ошибку ViewModel.
Если я создаю приложение MyView IMvxIosView, эта ошибка исчезнет, а затем я получу нулевую ссылку на ViewModel позже в своем коде, поэтому где-то, где не создается экземпляр, где это необходимо. Мое впечатление заключалось в том, что все должны обрабатываться MvvmCross автоматически, но я могу ошибаться.
Я смотрю на образцах, таких как https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Xamarin.iOS-UI-project
где TipView содержит
базуpublic new TipViewModel ViewModel {
get { return (TipViewModel) base.ViewModel; }
set { base.ViewModel = value; }
}
MyView не имеет никакого такого ViewModel имущества. Что мне не хватает, чтобы иметь доступ к этому?
Код примера TipCalc по-прежнему ссылается на пространство имен Cirrious, поэтому возможно, что все изменилось.
Любые предложения приветствуются. Я новичок в Xamarin и MvvmCross (хотя и опыт разработки Windows/iOS), и у меня возникли проблемы с поиском актуальной документации.
С вашего вопроса не совсем понятно, что вы просите. У вас есть более полный воспроизводимый образец? – Cheesebaron