У меня есть массив строк, которые я уже показываю в моем uitableview.
Когда для моего uitableview включено редактирование, я пытаюсь переместить строку, скажем, с 4-й строки на 3-ю строку, и я получаю EXC_BAD_ACCESSв объекте вставки в индексной части моего кода, когда я отлаживаю это ..
[myStringsArray insertObject:name atIndex:toIndexPath.row];
Однако, если я не отлаживаю, а просто собираю и запускаю, я получаю распечатать следующую строку, а затем происходит сбой безвижу EXC_BAD_ACCESS в моей консоли.
NSLog(@"re-ordered myStringsArray array");
Вот мой весь код для метода moveRowAtIndexPath:
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *path = [documentsDirectoryPath stringByAppendingPathComponent:@"MyStrings.plist"];
//re-order array
NSString *name = [myStringsArray objectAtIndex:fromIndexPath.row];
[myStringsArray removeObjectAtIndex:fromIndexPath.row];
[myStringsArray insertObject:name atIndex:toIndexPath.row];
NSLog(@"re-ordered myStringsArray array");
if([myStringsArray writeToFile:path atomically: YES]){NSLog(@"write succesful");}
else {NSLog(@"write failed");}
[myTable reloadData];
}
Любые идеи, почему он думает, что я пытаюсь получить доступ к чему-то, чего нет?
Поправьте меня, если я ошибаюсь, но мой изменяемый массив уже выделен и если метод удаления сработал, почему метод вставки не сработал?
Спасибо