NSURL总是使用URLWithString

时间:2014-03-22 04:01:31

标签: ios objective-c ios7 nsurl

我正在接收来自API的图片网址以及我想在集合视图中显示的这些图片。

这是我的代码

NSString *str = [imgArray objectAtIndex:indexPath.item];

frstUrl=[NSURL URLWithString:str]; // <-- (APP Crash here )

[imageView setImageWithURL:frstUrl
          placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
[imageView setImageWithURL:frstUrl];

错误讯息:

  

[__ NSArrayI length]:无法识别的选择器发送到实例0xd769560


NSLog对象的str返回:

  

str =((“hello.com/projects/newapp/uploads/...;,”hello.com/projects/newapp/uploads / ...;,

1 个答案:

答案 0 :(得分:1)

该错误告诉您,您从imgArray检索到的对象不是NSString,而是NSArray本身。检查您检索到的内容(NSLog或在调试器中检查它),您将看到它是一个数组。

例如,如果imgArray中的关联对象本身返回另一个数组,那么您必须从中获取详细信息。例如,如果该数组中的第一项是图像URL字符串,那么您可以执行以下操作:

NSArray *imgDetailsArray = imgArray[indexPath.item];

// let's assume that the first item in that array was the URL string, so let's grab the first item

NSString *str = imgDetailsArray[0];

// now we can use that string

frstUrl=[NSURL URLWithString:str];

[imageView setImageWithURL:frstUrl
          placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
[imageView setImageWithURL:frstUrl];