iphone - NSMutableArray removeObjectAtIndex :indexPath. 行崩溃

标签 iphone xcode ios4 ipad

我有一个 UITableViewController,标题中有一个 NSMutableArray,如下所示:

NSMutableArray *someArray;

我还声明了该属性:

@property (nonatomic, retain) NSMutableArray *someArray;

在 .m 文件中,我在方法中加载数组:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    someArray = [[NSMutableArray alloc] init];

    [self loadArrayData];

    [tableview reloadData];
}

表格填充得很好,添加没有问题,但是当我尝试删除一行时,应用程序在以下行崩溃:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

    if (editingStyle == UITableViewCellEditingStyleDelete) {

    [someArray removeObjectAtIndex:indexPath.row];

    //update table etc..

如果我使用调试器,我可以看到数组有一些对象,当我记录indexPath.row时,我得到一个在数组大小内的值。

我不明白为什么它会在这条线上崩溃...谁可以帮助我?

控制台输出:

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSArrayI removeObjectAtIndex:]:无法识别的选择器发送到实例 0x6193890”

最佳答案

我遇到了一个非常相似的问题,我正在使用 CoreData 启动我的数组,如下所示:

self.allContacts = (NSMutableArray*)[cdc.managedObjectContext executeFetchRequest:fetchRequest error:&error];

尝试将 CoreDataController 获取请求的结果转换为 NSMutableArray。

结果我需要在获取请求结束时调用“mutableCopy”函数。

self.allContacts = (NSMutableArray*)[[cdc.managedObjectContext executeFetchRequest:fetchRequest error:&error] mutableCopy];

我认为不需要强制转换为 (MutableArray *),但我有它以防万一。

希望这有帮助。

关于iphone - NSMutableArray removeObjectAtIndex :indexPath. 行崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237668/

相关文章:

iPhone : Device Token Inactive in Urban Airship

ios - 如何使 iOS 中的 PhoneGap 状态栏变为半透明?

ios - 从其他View Controller访问开关值

iphone - 避免在 iPhone 联系人中添加重复条目

iphone - 如何上传图片,然后在 iOS 中根据该图片执行自定义谷歌图片搜索?

xcode - 进度 View xcode的高度

javascript - 检查 UIWebView 中是否存在类

iphone - 使用仪器运行时应用程序崩溃

iphone - AFNetworking 监控所有下载过程

iphone - 供应概况