2014-02-20 2 views
1

Предположим, у меня есть NSArrayController, содержащий несколько объектов 'blob'. Эти объекты отображаются на основе NSTableView с помощью привязок.Создание элемента массива со свойством, зависящим от агрегатной функции самого массива

Теперь предположим, что каждый объект «blob» содержит свойство, называемое amount. Для одного из NSView s в каждой строке таблицы я хотел бы отобразить amount/max_amount_in_array.

Другими словами, я как-то нужно, чтобы связать свою клетку к NSArrayController «s [email protected] и к NSTableViewCell» s objectValue.amount в то же время и выполнить свой расчет.

Есть ли способ справиться с этим, используя привязки?

В настоящее время единственной идеей, которую я должен, является свойство ratio в 'blob' и пересчитывать его каждый раз, когда объект добавляется в массив. Это вполне возможно, но похоже, что для решения проблемы должен быть больше привязок.

ответ

0

Я теперь сделал это так:

[libraryCell.myView bind:@"amount" 
       toObject:libraryCell 
      withKeyPath:@"objectValue.amount" 
       options:nil]; 

[libraryCell.myView bind:@"max" 
       toObject:_librariesController 
      withKeyPath:@"[email protected]" 
       options:nil]; 

Есть, таким образом, два свойства в MyView (количество и не более), и когда один из них изменить я сделать расчет и обновления дисплея соответственно.

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

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