报错|报错 -[__NSArrayM length]: unrecognized selector sent to instance 0x7ffccd444180
文章图片
NSURL *urlImage = [NSURL URLWithString:[arrURL objectAtIndex:i]];
在用这句代码获取arrURL(NSArray类型)中的数据时报出如上错误。
1.经查发现错误原因是:URLWithString: 方法要求的参数是NSString类型。而从arrURL中获取的数据是NSArray类型数据。
2.出现上述现象的原因是arrURL中的数据对象有误:
muArrURL是NSMutableArray类型,muArrURL数据回传给arrURL。
[muArrURL addObject:[obj objectForKey:@"visitorURLArr"]];
[muArrURL addObject:[dic objectForKey:@"visitorURL"]];
从服务器获取数据时,[obj objectForKey:@"visitorURLArr"]是NSArray类型的数据(此数据中包含3条NSString类型数据)。
[dic objectForKey:@"visitorURL"]是NSString类型的数据
想法上是arrURL中应包含4个NSString类型数据。实际上是包含两个对象,NSString类型和NSArray类型。
解决方案:
[arrURL setArray:[obj objectForKey:@"visitorURLArr"]];
[arrURL addObject:[dic objectForKey:@"visitorURL"]];
用setArray方法,则arrURL中的数据为4条NSString类型数据。
【报错|报错 -[__NSArrayM length]: unrecognized selector sent to instance 0x7ffccd444180】其实这个问题就是setArray和 addObject的区别问题。
推荐阅读
- 接口|axios接口报错-参数类型错误解决
- 打开Anaconda|打开Anaconda Navigator 时报错 error 5 拒绝访问
- 运行报错Cannot|运行报错Cannot find module '@babel/compat-data/corejs3-shipped-proposals’
- 故障分析 | MongoDB 5.0 报错 Illegal instruction 解决
- 被mybatis-generator-gui-0.6.1报错坑到的那些事(二)
- weex|weex run ios 报错 /bin/sh: pod: command not found 解决方案
- 使用yum命令报错File|使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:
- git本地仓库推送到远程仓库报错
- 解决提交到github报错Please|解决提交到github报错Please tell me who you are.和为不同的项目设置不同的名称
- cmd配置npm仓库镜像报错