- 报错 -[__NSArrayM length]: unrecog
- 遇见[__NSCFNumber length]: unrecog
- Xcode11.3 React Native启动报错解决方法
- 微信分享出现问题:Terminating app due to
- iOS--[NSNull length]:
- Collection <__NSArrayM: 0x170
- iOS -[__NSArrayI addObject:]: un
- iOS报错-[NSNull intValue]: unrecog
- composer报错:Content-Length mismat
- vue报错'length' of undefined"(如果报n

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类型数据。
其实这个问题就是setArray和 addObject的区别问题。
网友评论