2013-11-07 1 views
1

Я пытаюсь создать представление вложенной коллекции. Сначала я сделал для одного уровня.Вложенный NSCollection View

Создал класс модели данных со строкой header. В приложении делегат создал массив sectionTitle. Теперь в nib, я добавил коллекцию view & контроллер массива и сделал все привязки, следующие за этим guide. Далее в awakeFromNib я заселена некоторые случайные данные

- (void)awakeFromNib { 
    int idx = 0; 
    NSMutableArray *sectionTitle = [[NSMutableArray alloc] init]; 
    while (idx < 1) { 
     HeaderModel *header = [[HeaderModel alloc] init]; 
     [header setHeader:[NSString stringWithFormat:@"Section %d", idx]]; 
     [sectionTitle addObject:header]; 
     idx++; 
    } 
    [self setHeaderData:sectionTitle]; 
} 

Запуск это даст мне 4 секции. Я хочу достичь аналогичной компоновки, как this. Заголовок раздела, под ним другой сборник предметов. Ответ дает только подсказки при использовании представления коллекции «Вложенные».

Так что я добавил еще один вид коллекции в прототипе первого вида. Затем я придерживался того же подхода, что и для первого представления (с другой моделью данных и массивом).

- (void)awakeFromNib { 
    int idx = 0; 
    NSMutableArray *sectionTitle = [[NSMutableArray alloc] init]; 
    NSMutableArray *groupData = [[NSMutableArray alloc] init]; 
    while (idx < 1) { 
     HeaderModel *header = [[HeaderModel alloc] init]; 
     DataModel *name = [[DataModel alloc] init]; 
     [header setHeader:[NSString stringWithFormat:@"Section %d", idx]]; 
     [name setName:[NSString stringWithFormat:@"Name %d", idx]]; 
     [sectionTitle addObject:header]; 
     [groupData addObject:name]; 
     idx++; 
    } 
    [self setHeaderData:sectionTitle]; 
    [self setData:groupData]; //NSCollectionView item prototype must not be nil. 
} 

Но теперь я получаю ошибку NSCollectionView элемент прототип не должен быть равен нулю. Как это разрешить?

+0

Любая удача, разрешающая это? – tofutim

ответ

1

Я просто ответил на подобный вопрос here

Но каким-то образом, вставив второй NSCollectionView с I.B, вы получите поврежденный прототип для вашего внутреннего NSCollectionViewItem. Просто попробуйте извлечь каждый связанный NSView в свой собственный .xib

+0

Я попробую. +100 за то, что он единственный, кто что-то сказал. – tofutim

Смежные вопросы