iOS reason: '-[__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance 0x60800
2017-09-10 11:19
633 查看
//联系人:石虎
QQ: 1224614774昵称:嗡嘛呢叭咪哄
一、源代码
NSDictionary * dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
NSLog(@"dic === %@",dic);
打印结果:dic === {
len = 69;
list = (
{
//是字段数据
}
for (NSDictionary * subDic in dic[@"list"]) {
NSLog(@“遍历数据”);
}
如果后台数据格式修改不是dic[@"list”]),就是崩溃报错如下:
reason: '-[__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance 0x60800025e840'
二、解决方案
解决方法一:
NSMutableArray *topLevelArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSDictionary *dict = topLevelArray[0];
for (NSDictionary * subDic in dict) {
NSLog(@“遍历数据”);
}
解决方法二:
如果您想要检查你的什么,你可以使用 isKindOfClass:像这样:
id jso = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
if (jso == nil) {
// Error. You should probably have passed an NSError ** as the error
// argument so you could log it.
} else if ([jso isKindOfClass:[NSArray class]]) {
NSArray *array = jso;
// process array elements
} else if ([jso isKindOfClass:[NSDictionary class]]) {
NSDictionary *dict = jso;
// process dictionary elements
} else {
// Shouldn't happen unless you use the NSJSONReadingAllowFragments flag.
}
谢谢!!!
QQ: 1224614774昵称:嗡嘛呢叭咪哄
一、源代码
NSDictionary * dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
NSLog(@"dic === %@",dic);
打印结果:dic === {
len = 69;
list = (
{
//是字段数据
}
for (NSDictionary * subDic in dic[@"list"]) {
NSLog(@“遍历数据”);
}
如果后台数据格式修改不是dic[@"list”]),就是崩溃报错如下:
reason: '-[__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance 0x60800025e840'
二、解决方案
解决方法一:
NSMutableArray *topLevelArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSDictionary *dict = topLevelArray[0];
for (NSDictionary * subDic in dict) {
NSLog(@“遍历数据”);
}
解决方法二:
如果您想要检查你的什么,你可以使用 isKindOfClass:像这样:
id jso = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
if (jso == nil) {
// Error. You should probably have passed an NSError ** as the error
// argument so you could log it.
} else if ([jso isKindOfClass:[NSArray class]]) {
NSArray *array = jso;
// process array elements
} else if ([jso isKindOfClass:[NSDictionary class]]) {
NSDictionary *dict = jso;
// process dictionary elements
} else {
// Shouldn't happen unless you use the NSJSONReadingAllowFragments flag.
}
谢谢!!!
相关文章推荐
- iOS 崩溃问题[__NSCFConstantString objectForKey:]: unrecognized selector sent to instance 0x10b15a470
- [xxx objectForKey:]: unrecognized selector sent to instance 错误的另类原因
- xcode 运行出现类似-[__NSCFString objectForKey:]: unrecognized selector sent to instance的调试方法
- iOS:编译错误[__NSDictionaryM objectAtIndexedSubscript:]: unrecognized selector sent to instance 0xa79e61
- 'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to i
- iOS 程序报错:reason: [NSArrayI addObject:]: unrecognized selector sent to instance
- IOS [NSNull objectForKey:]: unrecognized selector sent to [NSNull null]
- reason: '-[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance --iOS开发之崩溃
- -[__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance
- 奔溃警告:-[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x7a781910
- xcode 运行出现类似-[__NSCFString objectForKey:]: unrecognized selector sent to instance的调试方法
- reason: '-[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x14d59dc0'
- iOS BUG整理--[__NSCFNumber length]: unrecognized selector sent to instance 崩溃解决
- iOS [CIContext initWithOptions:]: unrecognized selector sent to instance 模拟器 iOS 8.4
- Object-C静态库代码运行报错: unrecognized selector sent to instance
- IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0'
- iOS nil、Nil、NULL、NSNull的区别(null)与<null>的处理: -[NSNull length]: unrecognized selector sent to instance
- -[__NSArrayI addObject:]: unrecognized selector与-[__NSArrayM objectForKeyedSubscript:]: unrecognized
- 【iOS】unrecognized selector sent to instance出现的原因和解决方案
- iOS报错[__NSArrayI removeObjectAtIndex:]: unrecognized selector sent to instance