2

Web から画像ファイルを読み込み、画像ビューに配置するコードがいくつかあります。問題は、Google チャート以外のすべてで機能することです。アプリのデータをグラフ化するためにこれに頼っていたので、これはイライラします。読み込む必要がある URL は次のとおりです。Click to see my test chart . それ以外のすべてで動作するときに、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 の有効な文字ではありません。| を置き換える必要があります。エスケープ コード %7C を含む URL の文字。次の 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 に答える