Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 从url加载NSImage,但仅加载一些url';工作_Cocoa_Url_Google Visualization_Nsimage - Fatal编程技术网

Cocoa 从url加载NSImage,但仅加载一些url';工作

Cocoa 从url加载NSImage,但仅加载一些url';工作,cocoa,url,google-visualization,nsimage,Cocoa,Url,Google Visualization,Nsimage,我有一些代码,可以从网上加载一个图像文件,并将其放在图像视图中。问题是,除了谷歌图表,它对任何东西都有效。这是令人沮丧的,因为我依赖它来为我的应用程序绘制数据。以下是我需要加载的url:。我不知道为什么NSImage似乎拒绝加载这一切,当它与elese的工作。如果你知道原因或有一个周围的任何帮助是感谢工作 下面是我用来加载图像的一些示例代码: NSURL *imageURL = [NSURL URLWithString:@"http://chart.apis.google.com/cha

我有一些代码,可以从网上加载一个图像文件,并将其放在图像视图中。问题是,除了谷歌图表,它对任何东西都有效。这是令人沮丧的,因为我依赖它来为我的应用程序绘制数据。以下是我需要加载的url:。我不知道为什么NSImage似乎拒绝加载这一切,当它与elese的工作。如果你知道原因或有一个周围的任何帮助是感谢工作

下面是我用来加载图像的一些示例代码:

    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。以下URL将起作用:

或者直接使用

StringBy添加百分比转义使用编码:

那么你就不必对所有的越狱行为进行硬编码了。


Peter值得称赞。

请提供一些未能产生预期结果的示例代码;这将有助于解释问题所在。为什么不按照您在其他问题上的建议,使用
initWithContentsOfURL:
?或者只需使用
stringbyaddingpercentescapesusingencode:
。这样,你就不必对所有各种逃逸行为进行硬编码彼得·霍西对此有正确的答案。。你应该贴出答案,这样人们就可以给你打分。。