Dans mon modèle, j'ai un NSMutableArray
qui garde la trace d'un nombre changeant d'éléments. À mon avis, j'ai un NSTextField
qui montre le nombre d'éléments.
La vue est désarchivée du fichier nib et alloc/inits le modèle. Par conséquent, il connaît le modell et le tableau contenu.Comment puis-je écrire des liaisons de cacao en tant que code plutôt que dans Interface Builder?
J'ai établi la connexion comme suit. Dans le Interface Builder au champ de texte j'ai ajouté un Cocoa Liaison "chemin" comme ceci: [email protected]
. Par ce que je peux accéder à la propriété count
(ce qui est un must puisque le tableau lui-même fait pas changer).
La liaison est basée sur la conformité valeur-clé, que j'ai établie au niveau du modèle afin que le tableau puisse être accédé. Mais la conformité de la valeur-clé ne fait pas partie des questions.
Ma question: Comment puis-je mettre la liaison dans le code source et pas l'écriture dans Interface Builder?
J'ai déjà essayé cela. À quoi référeriez-vous someObject et "value" si je veux mettre à jour myTextField? J'ai testé les éléments suivants: [auto-bind: @ "myTextField" ...] [auto-bind: @ "myTextField. @ Valeur" ...] [myTextField bind: @ "valeur" ...] Aucun Ce qui précède a fonctionné bien. – JJD
Nooooo, cela dépend évidemment de l'endroit où vous allez mettre le code, mais en supposant qu'il va quelque part avec une référence valide à myTextField et myModel, l'argument à lier: est le nom de la liaison. Donc comme Chuck a dit .. [myTextField bind: @ "value" toObject: monModèle withKeyPath: @ "myArray. @ Count" options: nil] – hooleyhoop
Oui. Maintenant j'ai compris. [self.myTextField bind: @ "stringValue" toObject: self.myModell avecKeyPath: @ "myArray. @ count" options: nil]; Il est important de noter que le champ de texte dans IB doit également avoir une connexion avec la variable membre myTextField. (objectValue au lieu de stringValue fonctionne aussi) - Merci les gars! – JJD