日期:2014-05-16  浏览次数:20306 次

用JSONKit转换的NSArray用UITableView的数据源总报错的解决方案


最近用JSONkit转换JSON数据,转换后做为UITableView的数据源,代码如下:


NSArray *result = [resultStr objectFromJSONString];


但调度时,只要向上拉动UITableView就会报错:


[__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:

?

?



?

我仔细检查,除了在- (void)dealloc 方法里释放了数据源变量,其它地方都没做什么操作赋值 ,后来想可能是JSONKit把数据源做了autorelease,于是把代码改为:


NSArray *result = [[resultStr objectFromJSONString] retain];

?问题解决!