Jak mohu rozdělit vázaného pole v částech, které se automaticky vyplní tabulku?

hlasů
0

Použil jsem tento ‚návod‘ svázat mé pole s názvem ‚sběrem‘ na NSTableview na svém rozhraní: http://www.cocoadev.com/index.pl?NSArrayController

Interfacebuilder věc není tak těžké. To se stává obtížné, když se snažím, aby skutečně ukazují data v mém poli do pohledu.

v mém h souboru:

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

a podle mého .so souboru:

@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];

Teď myslím, že pole je vázán i na rozhraní a TableView uvnitř, ale samozřejmě Tableview a její sloupce je třeba vyplnit určitým způsobem. Hned po přidání položky nic vidět. s kolekce AddObject: filename funkce

Měl bych vytvořit sub-Array jako jedna položka, naplnena pole? A jak mám svázat tyto hodnoty / pole do určité sloupce. (pole jsou ‚ umělec ‘, ‚ název ‘, etc)

Jak jsem již vázán každý sloupec v Interface Builder Array Controller s Controller klíčearrangedObjects ‘ a Model cesta klíčeumělce ‘, ‚ titul ‘, atd.

Prosím, mějte na vysvětlení jednoduché, protože jsem pomalu začínal myslet, že jsem se nikdy tento Array Controller věc ... Objective-C nezdá se, že těžké, ale vazba, kterou potřebuje, je to, co jsem prostě nechápu. Apple příklady nejsou dostačující pro začátečníky

Položena 27/01/2009 v 20:46
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Jen mutaci pole nemá nic, že ​​pole změnil říct. Je třeba odeslat oznámení Kvo pro mutaci.

Správný způsob, jak to udělat, je zavést přístupové metody pro vlastnost, pak zavolat své vlastní přístupové. V tomto případě budete chtít realizovat insertObjectInCollection:atIndex:a předat délku pole jako index ( [self insertObjectIntoCollection:fileName atIndex:[self countOfCollection]poté, co i prováděcí countOfCollection).

Při implementaci přístupové, pak když objekt se váže na vlastnictví, Cocoa bude zabalit přístupové metody v Kvo magie, která odešle příslušné oznámení pro mutaci.

Odpovězeno 28/01/2009 v 00:35
zdroj uživatelem

hlasů
1

Obvykle k naplnění vašich dat byste používat slovník (klíč bude klíčové cesty a objekt data) pro každý řádek, nebo ještě lépe, vytvořit třídu reprezentovat data a vytvoření nové instance pro každý řádek. Vázání může být trochu složitější na prvním místě (pokud jste novým Kakao zvyknout na zdrojových dat metodami první), ale podívat se na tuto lekci a příklady zde . Oba obsahují ukázky si můžete stáhnout a zkoumat, jak přesně se vazby zřízené v Interface Builder.

Odpovězeno 27/01/2009 v 22:19
zdroj uživatelem

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