2014-02-03 4 views
1

Mac приложение с Core Data:
У меня есть 3 сущности:
< - >> B < < -> C, C имеет булевой atribute.Cocoa Mac приложение, связать NSTableColumn с Entity

Теперь я хочу сделать отображение в таблице 2 столбца, имя A (1-й столбец) и логическое значение (второй столбец), который на основе логических значений от С.

Например:

Объект типа A (называемый a) владеет 3 объектами типа B (называемыми b1, b2, b3).
Каждому из этих 3 объектов принадлежит 1 объект из типа C (называемый c1, c2, c3).
Если логический атрибут одного из этих объектов (c1, c2, c3) равен TRUE, логическое значение во втором столбце должно быть истинным.

Я пытался что-то подобное (с обычаем ArrayController класса):

[NSTableColumn bind:@"value" toObject:self withKeyPath:@"[email protected]" options:nil];

ArrayController само находится в режиме Entity Name с Entity Имя: A.

ответ

1

Вы уверены, что @sum должно быть после c? Есть 3 объекта типа b для каждого справа? поэтому «b» - это коллекция в вашем случае.

KVC Guide От:

Простые операторы Коллекция

Простые операторы сбора действуют на свойства справа от оператор в любом массиве или установить.

И:

@sum

Оператор @sum возвращает сумму значений свойства заданного ключевого пути справа от оператора. Каждый номер равен , преобразованному в double, сумма значений вычисляется, а сумма обертывается как экземпляр NSNumber и возвращается.

Вы пробовали:

@"[email protected]" 
+0

хорошо, теперь я понимаю, как работает оператор @sum. Но если я попробую: @ @ "упорядочилоObjects.b. @ Sum.c.boolValue", произошла ошибка: '[__NSSetI decimalValue]: непризнанный селектор, отправленный в экземпляр Доза не имеет значения, где я размещаю @sum – Corben

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