我有一些代码可以从网络上加载图像文件并将其放入图像视图中。问题是它适用于除 Google 图表之外的所有内容。这很令人沮丧,因为我依靠它来为我的应用程序绘制数据图表。这是我需要加载的网址: 点击查看我的测试图. 。我不确定为什么 NSImage 在与其他所有内容一起使用时似乎拒绝加载它。如果您知道原因或有解决方法,我们将不胜感激。

这是我发现用来加载图像的一些示例代码:

    NSURL *imageURL = [NSURL URLWithString:@"http://chart.apis.google.com/chart?cht=p3&chs=700x400&chd=t:20,20,20,20,20&chl=A|B|C|D|E&chco=66FF33,3333CC"];
NSLog(@"url");
NSData *imageData = [imageURL resourceDataUsingCache:NO];
    NSLog(@"data");
NSImage *imageFromBundle = [[NSImage alloc] initWithData:imageData];

(笔记:此代码将加载除图表之外的任何图像)

谢谢

有帮助吗?

解决方案

这是失败的,因为|不是针对URL的有效字符。您必须更换| URL中带有逃生代码的字符:%7C。以下网址将起作用:

http://chart.apis.google.com/chart?cht=p3&chs=700x400&chd=t:20,20,20,20,20&chl=A%7CB%7CC%7CD%7CE&chco=66FF33,3333CC

其他提示

或只是使用

  

stringByAddingPercentEscapesUsingEncoding:

然后,你就不必硬编码的所有各种逃逸。 查看详情

<强>彼得值得赞许。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top