用到jsonkit的解析 就会发现这个问题的存在 增加retain以后 uitableview正常使用
用JSONKit转换的NSArray用UITableView的数据源总报错的解决方案
@H_404_11@最近用JSONkit转换JSON数据,转换后做为UITableView的数据源,代码如下:
NSArray *result = [resultStr objectFromJSONString];
@H_404_11@
@H_404_11@但调度时,只要向上拉动UITableView就会报错:
@H_404_11@
[__NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x696b490 2012-06-03 21:28:03.316 FashionReport[11243:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException',reason: '-[__NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x696b490' *** First throw call stack:
@H_404_11@
@H_404_11@我仔细检查,除了在- (void)dealloc 方法里释放了数据源变量,其它地方都没做什么操作赋值 ,后来想可能是JSONKit把数据源做了autorelease,于是把代码改为:
@H_404_11@
NSArray *result = [[resultStr objectFromJSONString] retain];