W jaki sposób można podzielić powiązanego tablicy w częściach, które automatycznie wypełnić tabelę?

głosy
0

Kiedyś ten „poradnik” związać moją tablicę o nazwie „zbieranie” do NSTableview na moim interfejsu: http://www.cocoadev.com/index.pl?NSArrayController

Interfacebuilder rzeczy nie jest takie trudne. To staje się trudne, gdy próbuję faktycznie pokazują dane w moim tablicy do widzenia.

w moim pliku .h:

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

w moim pliku .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];

Teraz myślę, że tablica jest związany również z interfejsem i tableview wewnątrz niego, ale oczywiście tableview i jej kolumny muszą być wypełnione w sposób szczególny. Teraz nic nie pokazuje po dodaniu elementu. z kolekcji addObject: nazwa funkcji

Należy utworzyć sub-Array w jednej pozycji, wypełnione pola? I jak należy powiązać te wartości / pola do poszczególnych kolumn. (pola są „ artysta ”, „ Tytuł ”, etc)

Mam już związany każda kolumna w konstruktorze Interface do Array Controller z kluczem ControllerarrangedObjects ” i model Key Pathartysta ”, „ Tytuł ”, itp.

Proszę zachować wyjaśnienie proste ponieważ jestem powoli zaczynają myśleć, że nigdy nie dostanie tej tablicy Controller rzecz ... Objective-C nie wydaje się trudne, ale wiązanie który potrzebuje co ja po prostu nie rozumiem. Przykłady Apple nie są wystarczające dla początkujących

Utwórz 27/01/2009 o 20:46
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

Wystarczy mutowania tablicę nie mówi nic, że tablica uległa zmianie. Trzeba wysyłać powiadomienia KVO dla mutacji.

Właściwy sposób, aby to zrobić jest wdrożenie metody dostępowe dla nieruchomości, a następnie wywołać własne akcesorów. W tym przypadku będziemy chcieli wdrożyć insertObjectInCollection:atIndex:i przekazać długość tablicy jako wskaźnik ( [self insertObjectIntoCollection:fileName atIndex:[self countOfCollection]po również wdrożenie countOfCollection).

Podczas wdrożenia akcesorów, wtedy, gdy obiekt wiąże się z nieruchomości, kakao będzie zawijać akcesorów w KVO magii, która wyśle ​​odpowiednie powiadomienia dla mutacji.

Odpowiedział 28/01/2009 o 00:35
źródło użytkownik

głosy
1

Zazwyczaj, aby wypełnić swoje dane chcesz używać słownika (klucz byłby keypath i obiekt danych) dla każdego wiersza, a nawet lepiej, utworzyć klasy do reprezentowania danych i utworzyć nową instancję dla każdego wiersza. Wiązania może być trochę trudne na początku (jeśli jesteś nowy w Cocoa przyzwyczaić się do metod pierwszych źródeł danych), ale spojrzeć na tym kursie i tutaj przykłady . Obie zawierają próbki można pobrać i badać dokładnie, w jaki sposób wiązania jest skonfigurowany w konstruktorze Interface.

Odpowiedział 27/01/2009 o 22:19
źródło użytkownik

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