2012-12-08 1 views
1

Dans mon view.designer.cs mes points de vente sont générés par xcode.Les points de vente sont null dans ViewDidLoad avec mvvmcross

Lors du démarrage du débogage, j'ai une exception de référence nulle sur mes propriétés lors de l'ajout de liaisons, dans le code ci-dessous this.SampleText est null.

public override void ViewDidLoad() 
     { 
      base.ViewDidLoad(); 

      this.AddBindings(
       new Dictionary<object, string>() 
       { 
        { this.SampleText, "{'Text':{'Path':'VMText'}}"} 
       });  
     } 

Je remarqué l'erreur suivante dans la sortie de l'application: « Les fenêtres d'application devraient avoir un contrôleur de vue racine à la fin du lancement de l'application »

qu'est-ce que je manque?

Répondre

1

Il semble que vous ayez un problème plus général avec votre configuration iOS - peut-être quelques problèmes avec la synchronisation des fichiers XIB entre xcode et MonoTouch. Avant d'essayer d'ajouter la liaison MvvmCross, jetez un oeil à la couche MonoTouch - si this.SampleText est null dans la couche MonoTouch, vous devez résoudre ce problème avant de pouvoir ajouter le code de liaison MvvmCross. Le débogueur logiciel MonoTouch est un excellent outil pour le déboguer - et le cycle de débogage avec le simulateur est assez rapide - cela aide donc souvent à résoudre ces problèmes.


De votre réponse partielle à cette question, il fait des sons comme vous avez essayé d'utiliser une interface utilisateur dans une XIB base de dialogue - qui va probablement pas travailler - Je pense que MonoTouch.Dialog est toujours basé sur un seul Tableau - il est donc pas attendre un XIB au catalogue (au moins, c'est mon expérience!)


Quant aux « fenêtres d'application devraient avoir un contrôleur de vue racine à la fin du lancement de l'application » qui sonne plus comme un général problème dans votre AppDelegate.cs peut-être. Alternativement, cela peut être un problème dans le présentateur. Quel présentateur utilisez-vous?

Ce message d'erreur lui-même a beaucoup de hits sur StackOverflow - par exemple. Applications are expected to have a root view controller at the end of application launch - mais je ne suis pas sûr de ce qui est approprié à votre cas en ce moment.


Je dois avouer que tout est pas clair pour moi avec iOS et MVVMCross

Pour les codeurs provenant d'un arrière-plan C# Je ne pense pas que ce soit inhabituel - je pense que le saut de VS sur Windows à MonoDevelop sur Mac (avec un petit xcode) est un saut non-trivial. Il faut plus de temps pour passer de WP à iOS que de WP à Droid - c'est le cas indépendamment de si vous utilisez MvvmCross - si vous faites du développement MT vous faites du code natif, donc vous devez prendre du temps pour comprendre un peu iOS (selon mon expérience/opinion!).

Pour la plupart, j'ai personnellement écrit des dizaines de milliers de lignes de code, écrit des centaines de billets de blog et des réponses stackoverflow, et présenté peut-être dix sessions sur mvvmcross. Je l'ai fait à travers cinq systèmes d'exploitation distincts, dont quatre que j'ai appris comme je l'ai codé et que j'ai tous lutté contre les bugs de plate-forme et d'outillage et les idiosyncrasies.

Je vais continuer à poster autant que possible - et continuer à fonctionner pour « libre »

J'encourage également tous les utilisateurs d'afficher et de blog sur leur expérience aussi. De cette manière, j'espère que les connaissances seront générées et partagées. Pour quiconque lisant ceci, utilisant mvvmcross et apprenant quelque chose sur le codage multi-plateforme - bon ou mauvais - alors s'il vous plaît envisager de partager ces connaissances. Pour l'inspiration, consultez quelques-unes des présentations et des blogs écrits par les utilisateurs - J'essaie de les lister sur . Merci :)


Aussi, quand poser des questions, s'il vous plaît pouvez-vous indiquer quelle version de mvvmcross que vous utilisez et quel échantillon (s) que vous fondez votre code sur - il existe des différences entre le maître et vNext et il ont été corrigés au fil du temps - la publication de cette information m'aidera à essayer de comprendre et/ou reproduire les erreurs que vous voyez.

Merci :)

+0

Salut Stuart, merci pour la réponse. –

+0

Je trouve vraiment votre soutien incroyable! Je suis vraiment confus avec les différents MvxXXXXViewControler, j'ai essayé de copier/coller votre code d'échantillons, mais je pense que je devrais plonger dans votre code comme pour Android ;-) Concernant le blog, j'ai prévu d'écrire des articles pour " mannequins ", avec un codage détaillé étape par étape. Comme je suis toujours un mannequin avec OSX/iOS, et a également été l'un avec MonoDroid et WP7 il y a un mois, je pense que je suis qualifié pour cette ;-) J'espère que cela peut aider MonoTouch/droïde et MVVMCross adoption. –

+0

Merci - mes commentaires sur le partage des connaissances étaient généraux et destinés à tout le monde, pas à vous. chaque contribution est vraiment appréciée - le monde continue à changer et nous apprenons toujours :) mais j'encourage aussi les gens à trouver l'équilibre - ne pas passer trop de temps sur l'ordinateur portable - économiser beaucoup de temps de qualité pour les enfants, la femme, famille, amis, chien, etc :) merci :) – Stuart

0

Je sais que c'est un peu vieux, mais j'étais en train de la même question.

Mes propriétés de sortie dans mon dossier View.designer.cs étaient nulles quand je tentais d'y accéder quand viewDidLoad a été appelé.

avéré que mon fichier dans Visual Studio xib n'était plus défini sur une action de construction de InterfaceDefinition.

Espérons que cela aide quelqu'un d'autre qui trébuche sur cette question.

Questions connexes