同样是删除cell问题,帮我看看问题出现在哪,谢谢!

我的类文件myFile是继承UIViewController的(目的是为了能够在一个view里切换不同的tableView),在myFile.h中定义一个可变数组editContactsList,然而在IB里面添加了一个view,两个tableView,在下面方法里面报错(有注明具体位置)

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

if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source.
NSUInteger row = [indexPath row];
[tableView beginUpdates];
NSLog(@"%@",self.editContactsList);//打印到数组内容

[self.editContactsList removeObjectAtIndex:row];//此处报错,错误信息在下面
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
[tableView reloadData];
    } 
}
错误信息:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI removeObjectAtIndex:]: unrecognized selector sent to instance 0x5e88f90'
*** Call stack at first throw:
(
0   CoreFoundation                      0x0214ebe9 __exceptionPreprocess + 185
1   libobjc.A.dylib                     0x022a35c2 objc_exception_throw + 47
2   CoreFoundation                      0x021506fb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3   CoreFoundation                      0x020c0366 ___forwarding___ + 966
4   CoreFoundation                      0x020bff22 _CF_forwarding_prep_0 + 50
5   Etisalat                            0x0014cb39 -[GMViewController tableView:commitEditingStyle:forRowAtIndexPath:] + 211
6   UIKit                               0x014232ea -[UITableView(UITableViewInternal) animateDeletionOfRowWithCell:] + 101
7   UIKit                               0x013b9a6e -[UIApplication sendAction:to:from:forEvent:] + 119
8   UIKit                               0x014481b5 -[UIControl sendAction:to:forEvent:] + 67
9   UIKit                               0x0144a647 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
10  UIKit                               0x014491f4 -[UIControl touchesEnded:withEvent:] + 458
11  UIKit                               0x013de0d1 -[UIWindow _sendTouchesForEvent:] + 567
12  UIKit                               0x013bf37a -[UIApplication sendEvent:] + 447
13  UIKit                               0x013c4732 _UIApplicationHandleEvent + 7576
14  GraphicsServices                    0x0328ba36 PurpleEventCallback + 1550
15  CoreFoundation                      0x02130064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
16  CoreFoundation                      0x020906f7 __CFRunLoopDoSource1 + 215
17  CoreFoundation                      0x0208d983 __CFRunLoopRun + 979
18  CoreFoundation                      0x0208d240 CFRunLoopRunSpecific + 208
19  CoreFoundation                      0x0208d161 CFRunLoopRunInMode + 97
20  GraphicsServices                    0x0328a268 GSEventRunModal + 217
21  GraphicsServices                    0x0328a32d GSEventRun + 115
22  UIKit                               0x013c842e UIApplicationMain + 1160
23  **(这里代表工程名)                   0x0013c914 main + 114
24  **(这里代表工程名)                   0x00004081 start + 53
)
terminate called after throwing an instance of 'NSException'
Program received signal:  “SIGABRT”.
(gdb) 


麻烦各位大侠帮忙看看,指点指点,本人菜鸟,被它搞到头大了,谢谢

引用第1楼coco89718于2011-07-19 11:00发表的  :
你用的是NSArray吗,要用NSMutableArray。
如果头文件定义的editContactsList是NSMutableArray类型,那在初始化的时候是不是
self.editContactsList = [[NSArray alloc] init]把他初始化成了NSArray呢 

谢谢!确实是这个原因。
我在viewDidLoad里面这样为editContactsList赋值:
NSMutableArray *arr  =[ [NSArray alloc] initWithObjects:@"a",@"b",@"c",nil];
self. editContactsList = arr;
[arr release];
就会出现上面的错误,后来改成了下面的方法就通过了:
NSArray *arr = [[NSArray alloc]initWithObjects:@"a",@"b",@"c",nil];
[NSMutableArray arrayWithCapacity:10];
[editContactsList setArray:arr];
[arr release];

转:http://www.cocoachina.com/bbs/simple/?t67161.html

__NSArrayI removeObjectAtIndex:]: unrecognized selector sent to instance的更多相关文章

  1. -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc830110

    问题 今天做项目,遇到了这个问题 -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc8301 ...

  2. iOS 程序报错:reason: [NSArrayI addObject:]: unrecognized selector sent to instance

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI ad ...

  3. '-[__NSCFString stringFromMD5]: unrecognized selector sent to instance 0x14d89a50'

    类型:ios 问题描述: 导入百度地图 然后在模拟器运行可以,真机测试不行: 报错: '-[__NSCFString stringFromMD5]: unrecognized selector sen ...

  4. unrecognized selector sent to instance

    今天长一见识(特此感谢小星星老湿-坏笑),凡是遇到“unrecognized selector sent to instance *******”的都是******方法没有,比如这种的错误: 可以尝试 ...

  5. IOS 错误 [UIWebView cut:]: unrecognized selector sent to instance

    那在什么场景中会出现这种情况呢? 如果一个包含文字的输入元素有焦点,然后按钮的点击会导致输入失去焦点,然后接下来在输入时双按会重新得到焦点并从弹出bar中选择剪切复制粘贴,就会导致此error. 也就 ...

  6. -[__NSCFNumber length]: unrecognized selector sent to instance 0xb0000000000000e3

    网络数据解析出现-[__NSCFNumber length]: unrecognized selector sent to instance 0xb0000000000000e3这样的错误,具体 re ...

  7. CBUUID UUIDString unrecognized selector sent to instance 错误

    CBUUID UUIDString unrecognized selector sent to instance 错误 ios7.0,4s 蓝牙出现上述错误! 查看api可知,错误原因,由于CBUUI ...

  8. reason: -[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance

    reason: -[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance 发现上线的app一直会有这个cr ...

  9. 利用objc的runtime来定位次线程中unrecognized selector sent to instance的问题

    昨天遇到一个仅仅有一行错误信息的问题: -[NSNull objectForKey:]: unrecognized selector sent to instance 0x537e068 因为这个问题 ...

随机推荐

  1. logback.xml 模板

    ssm模板 <?xml version="1.0" encoding="UTF-8"?>  <!--configuration 根节点,包含下 ...

  2. Laravel 生成二维码的方法

    (本实例laravel 版本 >=5.6, PHP版本 >=7.0) 1.首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里: "re ...

  3. kafka查看消费数据

    一.如何查看 在老版本中,使用kafka-run-class.sh 脚本进行查看.但是对于最新版本,kafka-run-class.sh 已经不能使用,必须使用另外一个脚本才行,它就是kafka-co ...

  4. 阿里云url解析,发布web后去除url中的端口号

    归根结底就是80端口的使用,不是http的80 的 或 https的  都得加端口号 [问题描述] http://wisecores.wisers.com:8080/JsonProject/servl ...

  5. mavean导入本地仓库

    当你刚开始用mavean的时候可能还没有发现mavean导入本地仓库方法的重要性,但是随着经常使用mavean项目就会发现,有些jar包mavean从网上的mavean仓库中无法导入,例如oracle ...

  6. THUSC 2018 酱油记

    THUSC 2018 酱油记 游记分类:游记 Day \((-inf,-2]\) 自CTSC和APIO挂烂以后,仍然在停课集训,不过好像这两波考试让我的RP涨了一大波,因此模拟赛大多都考的不错,虽然经 ...

  7. (转阮一峰)深入理解OAuth 2.0

    OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为R ...

  8. 【Java】 子字符串的比较(substring的==与equal()使用)

    public class Test { public static void main(String[] args) { String str1="good"; System.ou ...

  9. MATLAB遍历文件夹下所有文件

    先给出函数 function [ files ] = scanDir( root_dir ) files={}; if root_dir(end)~='/' root_dir=[root_dir,'/ ...

  10. Git 版本控制管理(一)

    Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 关于 Git 的 ...