, но что-то во мне пытается сопротивляться созданию изменяемых объектов, когда результат должен быть постоянным.

инаю использовать наблюдение значения ключа, и изменяемый массив, который я наблюдаю, дает мне NSIndexSets (Упорядоченный изменяемый ко-многим) в словаре изменений. Проблема в том, что табличное представление, насколько я знаю, хочет, чтобы я дал ему NSArrays, полный индексов.

Я думал о реализации собственного метода для преобразования одного в другой, но это кажется медленным, и у меня сложилось впечатление, что должен быть лучший способ обновить это представление таблицы при изменении массива.

Это метод из моего UITableViewDataSource.

 -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
     switch ([[change valueForKey:NSKeyValueChangeKindKey] unsignedIntValue]) {
         case NSKeyValueChangeSetting:
             NSLog(@"Setting Change");
             break;
         case NSKeyValueChangeInsertion:
             NSLog(@"Insertion Change");

             // How do I fit this:
             NSIndexSet * indexes = [change objectForKey:NSKeyValueChangeIndexesKey];

             // into this:
             [self.tableView insertRowsAtIndexPaths:<#(NSArray *)#> withRowAnimation:<#(UITableViewRowAnimation)#>

             // Or am I just doing it wrong?

             break;
         case NSKeyValueChangeRemoval:
             NSLog(@"Removal Change");
             break;
         case NSKeyValueChangeReplacement:
             NSLog(@"Replacement Change");
             break;
         default:
             break;
     }
 }

Ответы на вопрос(2)

Ваш ответ на вопрос