NSCollectionView внутри другого NSCollectionView - PullRequest
1 голос
/ 20 августа 2010

У меня есть два класса:

@interface Father : NSObject
{
     NSString* name;
     NSArray* listChildren;
}

@property (copy, readwrite) NSString* name;
@property (copy, readwrite) NSArray* listChildren;

@end

@interface Child : NSObject
{
     NSString* nameChild;
     NSImage* picture;
}

@property (copy, readwrite) NSString* nameChild;
@property (copy, readwrite) NSImage* picture;

@end

Я пытаюсь создать NSCollectionView, заполненный Father элементами, и для каждого элемента отца View у меня будет название, а еще один NSCollectionView заполнится элементами (отца) representedObject.listChildren .

Мне удалось создать внешний NIB-файл для отца NSCollectionViewItem View, чтобы упростить процесс, но я не могу связать дочерний элемент CollectionView со свойством representedObject.listChildren. На самом деле, в IB нет проблем с привязкой, и во время выполнения система фактически вызывает свойство (я добавил и реализацию getListChildren и вызов NSLog, чтобы убедиться, что свойство вызывается). Кажется, что внутренние CollectionView не будут загружать элементы, найденные в моем свойстве NSArray*?

Это сводит меня с ума, есть идеи о том, что происходит? Помогите пожалуйста !!

1 Ответ

0 голосов
/ 27 сентября 2012

У меня была точно такая же проблема, и я нашел решение!

Я полный новичок в Objective C и Cocoa, поэтому я не до конца понимаю причины, почему это не работает точно.Может быть, кто-то еще может просветить нас.

В моей первой попытке я просто сделал все по умолчанию MainMenu.xib.В итоге вы получите два NSArrayController.Теперь, по-видимому, как вы и предполагали, проблема заключается во втором NSArrayController для внутренних предметов.Это как-то не копируется правильно.Извлечение каждого NSView в свои .xib решает эту проблему.

На самом деле это обсуждение заставило меня начать в правильном направлении.Позже я обнаружил / понял, что это в основном та же самая идея, на которую @ user493638 уже намекает.

Объединение этих знаний с учебным пособием здесь о том, как извлечь взгляды в свои .xib решил проблему для меня!

Опять же, я не понимаю цели C и Какао достаточно, чтобы полностью понять основные причины этого поведения, кто знает, как именно вся эта магия связывания работает под капотом ...

...