Cocoa 从url加载NSImage,但仅加载一些url';工作
我有一些代码,可以从网上加载一个图像文件,并将其放在图像视图中。问题是,除了谷歌图表,它对任何东西都有效。这是令人沮丧的,因为我依赖它来为我的应用程序绘制数据。以下是我需要加载的url:。我不知道为什么NSImage似乎拒绝加载这一切,当它与elese的工作。如果你知道原因或有一个周围的任何帮助是感谢工作 下面是我用来加载图像的一些示例代码: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
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:
。这样,你就不必对所有各种逃逸行为进行硬编码彼得·霍西对此有正确的答案。。你应该贴出答案,这样人们就可以给你打分。。