NsArraycontroller par code

mayb3mayb3 Membre
Bonjour, je me permets de poster sur le forum car j'ai une petite question.
Comment peut on avec du code ajouter un enregistrement dans un ArrayController ?

J'ai trouvé beaucoup de réponse différentes sur le net mais aucune ne marche sur mon appli  :(

Je veux juste récupérer 2 textbox pour les mettre dans 2 attributs différents.

Merci de votre aide futur  :-*

Réponses

  • laudemalaudema Membre
    04:40 modifié #2
    Bonjour,

        ça aurait pu aider de voir tes précédentes tentatives et ce qui n'avait pas marché...
    Apple déconseille de commencer par Core Data mais tu parles d'attributs, donc je suppose que tu utilises Core Data. J'ai essayé aussi et puis je suis revenu aux objets simples, pour l'instant. Quand je maà®triserais bien je reviendrais, peut être !, à  Core Data.

    Un NSArrayController est un de ces "simples" NSObject il a des méthodes d'instance (et pas de méthodes de Classe car on utilise en général un NSArrayController qui existe dans un fichier .xib) http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ApplicationKit/Classes/NSArrayController_Class/Reference/Reference.html#//apple_ref/doc/uid/20002042-SW6

    Dans les tasks tu as:
    - (void)add:(id)sender;
    As tu essayé par là  ?

    Dans les méthodes d'instances tu as Adding and Removing Objects, si tu as déjà  créé l'objet toi même et veux seulement l'ajouter à  arrayController:
    – (void)addObject:(id)object
    – (void)insertObject:(id)object atArrangedObjectIndex:(NSUInteger)index

    Enfin un arrayController utilise massivement les bindings (également déconseillés aux purs débutants). Dans la documentation des bindings tu as une section "Programmaticaly modifying controller content" http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaBindings/Concepts/CntrlContent.html#//apple_ref/doc/uid/TP40002147-183285-BBCDFJHD
    Et la méthode:
    - (void)insertObject:(id)object atArrangedObjectIndex:(unsigned int)index;
    Qu'on applique au NSMutableArray qui contient la collection pour un objet qu'on a créé par ailleurs.

    Donc pour répondre à  ta question: on peut avec du code soit: demander à  arrayController de créer et ajouter un objet pour nous à  la collection et l'affichage, soit: créer l'objet nous même et demander à  arrayController de l'incorporer à  sa collection ou ajouter l'objet à  la collection en utilisant les méthodes "KVO compliant" qui permettent à  arrayController de savoir que son modèle a changé afin qu'il répercute à  l'affichage.
    hth
Connectez-vous ou Inscrivez-vous pour répondre.