"Bindage" d'un NSArrayController

fouffouf Membre
15:43 modifié dans API AppKit #1
Bijour à  tous les bindeurs <3 .<br />
Voila mon pb : je voudrais que mon arrayController ai comme content l'array qui est dans une classe perso. Or, je ne peut pas binder contentObject, ma classe n'apparaissant pas dans la liste des classes "bindables" (en effet, la classe n'est pas le file's owner). J'ai essayé setContent dans awakeFromNib, mais le contenu du tableau ne se réactualise pas. Le seul moyen de faire un truc "à  jour", c'est de faire un setContent à  chaque fois que j'ajoute un objet dans le tableau.

Est-ce que quelqu'un saurait ce qui faudrait faire pour éviter des setContent à  répétition ? Merci d'avance  :fouf):

Réponses

  • GercofisGercofis Membre
    15:43 modifié #2
    en utilisant CoreData ça doit le faire
  • fouffouf Membre
    15:43 modifié #3
    he he, surement, mais, en fait, je n'ai pas Tiger ::)
  • laurrislaurris Membre
    15:43 modifié #4
    Apparemment (sauf si subtilité que je n' ai pas compris), ta seule solution consiste à  binder à  la main dans le awakeFromNib. Un truc du genre:
    [tonarrayController bind:@contentArray toObject:taClasse withKeyPath:@chemin_vers_array options:NULL];
    Après avoir ajouté un Outlet pour le array controller et initialisé ta classe perso, bien sur.
  • fouffouf Membre
    15:43 modifié #5
    J'ai aussi éssayé le bindage "à  la main", mais ca ne marche pas. En effet, je crois que les "notifs" d'observation ne sont lancées que lorsque l'on fair appel à  setValue:forKey: .
    Bon, en fait, j'ai fini, après des heures, par trouver la solution. Il faut rajouter un outlet vers l'arrayController, et s'en servir comme d'un bête NSMutableArray. Ensuite, pour récupérer l'array lui même (pour faire des enumerator dessus), on utilise [arrayController arrangedObjects];

    Voila, je sais pas si ca peut être utile à  quelqu'un mais je poste quand même au cas où ;)
Connectez-vous ou Inscrivez-vous pour répondre.