Ich habe ein altes Projekt auf Xamarin.iOS Unified und MvvmCross 4.1 aktualisiert.MvvmCross - View nicht geladen
Wenn ich die app laufen lasse, erhalte ich die folgende Ausnahme:
MvvmCross.Platform.Exceptions.MvxException: Ansicht nicht für MyView geladen
Meine Klassen wie folgt aussehen:
MyView : MvxViewController<MyViewModel> {}
MvxViewController<T> : UIViewController, IMvxBindingContextOwner, IUIWrappable
where T : ViewModelBase
ViewModelBase : MvxViewModel {}
Ich vermute, dass ich eine Schnittstelle oder etwas auf MyView vermisse, damit MvvmCross korrekt funktioniert, aber ich bin mir nicht sicher, welche Schnittstelle das sein könnte.
Ich vermute dies, weil ich schon hart in Mappings zwischen dem View und seinem ViewModel Code codieren musste, um MvvmCross zu ermöglichen, das ViewModel durch Reflection/Auto-Discovery zu finden, die MyView zugeordnet sind. Das heißt, vor diesem Fehler konnte ich den zugehörigen ViewModel-Fehler nicht finden.
Wenn ich MyView IMvxIosView implementiere, verschwindet dieser Fehler, und ich bekomme dann einen NULL-Verweis auf das ViewModel später in meinem Code, so dass irgendwo nicht instanziiert wird, wo es benötigt wird. Mein Eindruck war, dass dies alles automatisch von MvvmCross gehandhabt werden sollte, aber ich könnte mich irren.
ich bei Proben suchen wie https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Xamarin.iOS-UI-project
wo TipView
enthältpublic new TipViewModel ViewModel {
get { return (TipViewModel) base.ViewModel; }
set { base.ViewModel = value; }
}
Basis MyView der hat keine solche Eigenschaft Ansichtsmodell. Was fehlt mir, um darauf zugreifen zu können?
Der Beispielcode von TipCalc verweist immer noch auf den Namespace Cirrious, daher ist es möglich, dass sich die Dinge geändert haben.
Alle Vorschläge sind willkommen. Ich bin neu bei Xamarin und MvvmCross (obwohl ich in der Windows/iOS-Entwicklung erfahren bin), und ich habe Probleme, die aktuellste Dokumentation zu finden.
Aus Ihrer Frage ist nicht ganz klar, was Sie fragen. Haben Sie eine vollständigere reproduzierbare Probe? – Cheesebaron