【发布时间】:2011-02-21 09:30:26
【问题描述】:
我有一个字符串数组,已经在我的 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];
}
任何想法为什么它认为我正在尝试访问不存在的东西?
如果我错了,请纠正我,但我的可变数组已经分配,如果删除方法有效,为什么插入方法无效?
谢谢
【问题讨论】:
标签: iphone uitableview ios4 crash nsmutablearray