我正在尝试从数组中获取NSURL的路径值,以便在我的应用中设置图标。我得到了
NSInvalidArgumentException',原因:' - [__ NSArrayI length]:无法识别的选择器发送到实例0x5622590。
如果我使用nslog,我会得到预期的输出:
NSLog(@"%@",[[wforecast.wicons objectAtIndex:0]valueForKey:@"nodeContent"]);
这给了我:
我将值设置如下
NSURL *urlpath;
NSString *urls = [[wforecast.wicons objectAtIndex:0] valueForKey:@"nodeContent"];
urlpath = [NSURL URLWithString:(NSString *)urls];
我很欣赏这是一种漫长的做事方式,但我试图分解各个组件以找出问题所在,但我不知所措!
答案 0 :(得分:6)
您与this other questioner had基本上存在相同的问题。您传递的对象不是NSString,您需要传递NSString。
使用调试器确定发生异常的确切位置。如果你还没有这样做,我就不会确定你展示的代码是什么造成的;调试器会告诉你发生异常的地方,没有任何疑问。
一旦找到异常发生的位置,就可以检查传递的对象,并回顾一下你从哪里得到它。您需要修复如何检索字符串或如何将其存储在您现在从中获取字符串的位置。