Вероятно, есть лучший способ сделать все это.Я бы отслеживал, какие строки проверяются, а затем выполнял бы перемещения массива только после того, как пользователь совершил действие.
Но если вы просто хотите обойтись, чтобы закончить текущую технику, то, возможно, вы могли бы использоватьNSMutableDictionary как ваше временное хранилище.
Запишите объект в словарь:
[myDictionary setObject:myObject forKey:someKey];
пример для ключа:
[myDictionary setObject:myObject forKey:[NSNumber numberWithInt:[sender tag]];
Вы можете использовать тег [sender] в качестве ключа в словаре, если вы сначала включите его в NSNumber (ключи NSMutableDictionary должны соответствовать протоколу NSCopying, а NSNumber именно так и поступает).
Найти объект на основе его ключа в словаре:
[myDictionary objectForKey:someKey];
Удалите объект на основе его ключа в словаре:
[myDictionary removeObjectForKey:someKey];
После того, как пользователь выполнил все свои проверки и снятие отметки, и он совершил перемещение, затем, чтобы получитьобъекты из вашего временного словаря и обратно в массив вы можете:
Извлечь все ключи из словаря:
NSArray *keysArray = [myDictionary allKeys];
Перебрать всю эту обри вставьте объекты словаря обратно в исходный массив:
[myDictionary objectForKey:someKey];
Используйте NSNumber -intValue, чтобы преобразовать ключ обратно в целое число, чтобы выполнить вставку обратно в исходный массив:
[myOriginalArray insertObject:myObject atIndex:[someKey intValue]];