Основные данные какао: использование преобразователя значения в упорядоченных объектах контроллера массива для предоставления отфильтрованного числа - PullRequest
0 голосов
/ 17 сентября 2010

Согласно названию действительно.У меня есть объект, который имеет свойство "idNumber".Так же, как я могу привязать текстовое поле к расположенным объектам контроллера массива с помощью ключевого пути модели "@count", чтобы обеспечить подсчет всех объектов в массиве, я хотел бы иметь возможность привязать текстовое поле к расположенным объектам контроллера массива с помощьюпреобразователь значения, чтобы возвратить счетчик отфильтрованного подмножества массива (те объекты с idNumber> 5).

Я предполагаю, что это возможно ??

Моя попытка:

Я привязал текстовое поле к контроллеру массива, Ключ контроллера Путь к ключу модели "managedObjects" Model"Трансформатор стоимости" AllToSomeTransformer ".

Код для AllToSomeTransformer:

-(id)transformedValue:(id)value {
NSArray *arrayOfAllCars;

if (value == nil) return nil;

if ([value respondsToSelector: @selector(count)]) {
    arrayOfAllCars = [NSArray arrayWithArray:value];
} else {
    [NSException raise: NSInternalInconsistencyException
                format: @"Value (%@) does not respond to -count.",
[value class]];
}

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"idNumber > %@", [NSNumber numberWithInt:5]];

NSArray *arrayOfBlueCars = [arrayOfAllCars filteredArrayUsingPredicate:predicate];

return [NSNumber numberWithInt:[arrayOfBlueCars count]];
}

Я считаю, что мой преобразователь значений правильно зарегистрирован и т. Д. Чтобы попытаться выяснить, что происходит, я добавил несколько выходов NSLog вышекод.Похоже, что вышеупомянутый метод вызывается только один раз, при запуске приложения, а не снова, когда новые объекты добавляются в массив.Может быть, поэтому текстовое поле не обновляется со значениями ??

Спасибо, Оли

1 Ответ

0 голосов
/ 20 сентября 2010

Поскольку трансформатор вызывается и работает, но только один раз, это говорит о том, что с привязками что-то не так, что трансформатор не наблюдает за изменениями в arrangedObjects. Я не уверен, что это будет.

...