2011-01-28 3 views
1

У меня есть пользовательский NSView (MyView), который отображается NSViewCollectionItem.Пожалуйста, помогите выяснить привязку для NSCollectionView

MyView имеет свойство MyObject.

Мой главный NSWindowController имеет IBOutlets для NSViewCollection и NSArrayController.

NSArrayController привязан к массиву объектов типа MyObject.

Я хотел бы иметь значения из массива для привязки к пути «myView.myObject».

Я не могу понять, как установить это в IB. Я не понимаю, какие ключи я должен использовать. Должен ли мой массив быть набором объектов NSDictionary вместо этого, чтобы я мог иметь ключ с именем «myObject», а не хранить значения напрямую?

Я новичок в привязках, поэтому это битва. Пожалуйста помоги.

ответ

1

Я разобрался. Он должен идти, как это:

1) NSArrayController:
Bind к → MyWindowController (Владелец файла)
Модель Key Path → myArrayWithObjects

2) NSCollectionView:
Привязать к → NSArrayController
Ключ контролера → assemblyObjects

3) Теперь, чтобы получить это значение из массива в обычае NSView, вам необходимо переопределить следующий метод в NSCollectionViewItem подкласса:

- (void)setRepresentedObject:(id)object 
{ 
    [super setRepresentedObject:object]; 

    // e.g. [self.view setMyProperty:object]; 
} 
+0

hello Anna Вы работали с NSCollectionViewItem в Swift? Я не могу найти метод setRepresentedObject, и документы сообщили, что метод был перемещен в NSCollectionView, но там тоже нет такого метода .:/ Возможно, вы столкнулись с этим? –

+0

Я недавно задал вопрос, может быть, вы посмотрите. Благодарю. http://stackoverflow.com/questions/33669886/cocoa-nscollectionview-item-binding-doesnt-update-image-like-in-cocoaslidecoll –

+0

@flinth извините, мне хотелось бы помочь, но я не работал со Свифт. – anna

1

Вы можете связать «myView.myObject» к «representedObject .property "из NSCollectionViewItem. Итак, если у вас есть свойство с именем info на вашем организованном объекте, вы можете привязать объект к представленному объектуObject.info

+0

Спасибо. Я делаю это сейчас в другом сценарии. Однако в моем первоначальном вопросе мне нужно было, чтобы «представленный объект» сам привязывался к свойству в моем представлении. – anna

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

  • Нет связанных вопросов^_^