Хотя в iOS нет NSArrayController
, в ней есть все приемы, над которыми он работает.В частности, это привязка значения ключа и более фундаментальный наблюдение значения ключа .Последний должен быть вашим инструментом выбора.Это довольно легко сделать:
1) Зарегистрировать контроллер в качестве наблюдателя, например:
[singleton addObserver:self forKeyPath:@"myData" options:0 context:@"data"];
2) Наблюдать за всеми изменениями по мере их поступления:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if (context == @"data") {
// Do whatever you need to do...
}
else {
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
}
}