0

我有以下用于从网络获取图像的代码:

 NSURL *ImageURL = [NSURL URLWithString:@"http://url/image.jpg"];

 NSData *data = [[NSData alloc] initWithContentsOfURL: ImageURL];

我收到以下异常:

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithCapacity:]: capacity (4294967295) is ridiculous'

如果我删除第二行 nsdata 则不会发生异常。请给我解决方案。

4

2 回答 2

0

您的 url 路径可能有空格。所以像这样使用

NSString *url=@"http://url/image.jpg";

url=[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *data=[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:url]];
于 2012-06-20T07:34:41.183 回答
0

只要您的图像尺寸很小,就可以从另一个 SO 问题(mbm30075 的答案)中尝试这段代码。如果没有,为了使 UI 具有交互性,请使用异步连接首先下载图像NSURLConnection

于 2012-06-20T07:39:44.550 回答