2

我有一些代码可以从网上加载图像文件并将其放入图像视图中。问题是它适用于除 Google Charts 之外的所有内容。这令人沮丧,因为我依靠它为我的应用程序绘制数据。这是我需要加载的网址:点击查看我的测试图表。我不确定为什么 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];

(注意:此代码将加载除图表以外的任何图像)

谢谢

4

2 回答 2

4

这是失败的,因为 | 不是 URL 的有效字符。您必须更换 | URL 中带有转义码的字符: %7C 。以下 URL 将起作用:

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

于 2010-04-18T03:36:02.067 回答
1

或者只是使用

stringByAddingPercentEscapesUsingEncoding:

然后,您不必对所有各种转义进行硬编码。 见描述

彼得值得竖起大拇指。

于 2014-02-06T07:07:30.990 回答