Cum pot împărți o matrice legat în părți care umple automat masa?

voturi
0

Am folosit acest „tutorial“ pentru a lega matrice mea numită „colectare“ la o NSTableview pe interfata mea: http://www.cocoadev.com/index.pl?NSArrayController

Lucruri interfacebuilder nu este așa de greu. Devine dificil atunci când încerc să arate de fapt, datele din matrice mea în vedere.

în fișierul meu .h:

@interface MyDocument : NSDocument
{
    NSMutableArray *collection;
    //other variables
}

și în fișierul meu .m:

@implementation MyDocument
@synthesize collection;
     //quite some functions

     inside one function (that works):
     [collection addObject:fileName];

     //some other functions

     inside the init function:
     collection = [[NSMutableArray alloc] init];

Acum , cred că matrice este legat bine la interfața și tableview în interiorul acestuia, dar și tableview desigur coloanele sale trebuie să fie completate într - un mod specific. Chiar acum nimic nu arată după adăugarea unui element. cu colecția addObject: fileName funcție

Ar trebui să creați un sub-Array ca un singur element, umplut cu câmpuri? Și cum ar trebui să se lege aceste valori / câmpuri pentru anumite coloane. (câmpurile sunt ' artist ', ' titlu ', etc)

Am legat deja în fiecare coloană în Interface Builder pentru controler Array cu cheie controlerarrangedObjects “ și Modelul cheie Pathartist “, „ titlu “, etc.

Vă rugăm să păstrați explicație simplă, deoarece eu sunt încet încep să cred că nu va obține acest lucru ... Array Controller de Objective-C, nu pare atât de greu, dar legarea de care are nevoie este ceea ce eu nu înțeleg. exemple Apple nu sunt suficiente pentru începători

Întrebat 27/01/2009 la 20:46
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

Doar mutant matrice nu spune nimic ca matrice sa schimbat. Ai nevoie pentru a trimite notificări KVO pentru mutația.

Dreptul mod de a face acest lucru este de a pune în aplicare metode accesoare pentru proprietate, apoi apelați propriile Conturi cu acces. În acest caz, veți dori să pună în aplicare insertObjectInCollection:atIndex:și să treacă lungimea de matrice ca index ( [self insertObjectIntoCollection:fileName atIndex:[self countOfCollection], de asemenea , după punerea în aplicare countOfCollection).

Atunci când implementați evaluatorilor, atunci când un obiect se leagă de proprietate, cacao va înfășurați în KVO magice Conturi cu acces, care va trimite notificări corespunzătoare pentru mutația.

Publicat 28/01/2009 la 00:35
sursa de către utilizator

voturi
1

De obicei pentru a popula datele dvs. ați utiliza un dicționar (cheia ar fi keyPath, și obiect datele) pentru fiecare rând, sau chiar mai bine, de a crea o clasă pentru a reprezenta datele și de a crea o nouă instanță pentru fiecare rând. Bindings poate fi un pic dificil la început (dacă sunteți nou la cacao se obișnuiască cu metodele sursă de date primul), dar au o privire la acest tutorial și exemplele de aici . Ambele conțin mostre le puteți descărca și examina exact cum legările este configurat în interfața Builder.

Publicat 27/01/2009 la 22:19
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more