Как я могу разделить связанный массив в части, которые автоматически заполнить таблицу?

голоса
0

Я использовал этот «учебник» , чтобы связать свой массив с именем «коллекция» в NSTableView на моем интерфейсе: http://www.cocoadev.com/index.pl?NSArrayController

InterfaceBuilder материал не так уж трудно. Становится трудно, когда я пытаюсь на самом деле показывают данные в моем массиве в представлении.

в моем файле .h:

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

и в моем файле .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];

Теперь я предполагаю , что массив хорошо связан с интерфейсом и Tableview внутри него, но конечно TableView и ее столбцы должны быть заполнены определенным образом. Сейчас ничего не показывает после добавления элемента. с коллекцией AddObject: FileName функции

Должен ли я создать вложенный массив как один элемент, заполненный с полями? И как я должен связать эти значения / поля к определенным столбцам. (поля являются « художник », « название », и т.д.)

Я уже связан каждый столбец в Interface Builder для массива контроллера с ключом контроллера « arrangedObjects » и модель Key Path « художником », « титулом », и т.д..

Пожалуйста, имейте объяснение просто, так как я медленно начинаю думать, что я никогда не получу этот массив контроллер вещи ... Objective-C не кажется, что трудно, но связывание, которое ему нужно то, что я просто не понимаю. Примеры Apple, не являются достаточными для новичков

Задан 27/01/2009 в 20:46
источник пользователем
На других языках...                            


2 ответов

голоса
1

Просто мутирует массив ничего, что массив изменился не сказать. Вам необходимо отправить уведомление КВО для мутации.

Правильный способ сделать это состоит в реализации методов доступа для свойства, а затем вызвать собственные аксессор. В этом случае, вы хотите реализовать insertObjectInCollection:atIndex:и передать длину массива в качестве индекса ( [self insertObjectIntoCollection:fileName atIndex:[self countOfCollection]после также реализации countOfCollection).

При реализации аксессоров, тогда, когда объект связывается со свойством, какао будет обернуть аксессор в КВО магии, которая будет посылать соответствующие уведомления для мутации.

Ответил 28/01/2009 в 00:35
источник пользователем

голоса
1

Обычно для заполнения ваших данных , которые вы бы использовать словарь (ключ будет ключевым путем, и объект данных) для каждой строки, или даже лучше, создать класс для представления данных и созданием нового экземпляра для каждой строки. Наручники могут быть немного сложнее в первом (если вы новичок в какао привыкнуть к методам исходных данных первого), но посмотреть на этом уроке и примеры здесь . Оба содержат примеры , которые вы можете загрузить и изучить , как именно привязка устанавливаются в Interface Builder.

Ответил 27/01/2009 в 22:19
источник пользователем

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