Pergunta

Eu tenho algum código que carrega um arquivo de imagem da web e o coloca em uma visualização de imagem. O problema é que funciona com tudo, exceto os gráficos do Google. Isso é frustrante, porque eu estava confiando nisso para graficar os dados do meu aplicativo. Aqui está o url que eu preciso carregar: Clique para ver meu gráfico de teste. Não sei por que o NSimage parece se recusar a carregar isso quando funciona com tudo o Elese. Se você sabe o porquê ou tiver uma ajuda, qualquer ajuda é apreciada.

Aqui está algum código de exemplo que descobri que estou usando para carregar as imagens:

    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];

(Nota: este código carregará qualquer imagem, exceto um gráfico)

Obrigado

Foi útil?

Solução

Isso está falhando porque | não é um Characto válido para URLs. Você deve substituir o | caracteres em seu URL com o código de escape: %7c. O seguinte URL funcionará:

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

Outras dicas

Ou apenas use

StringByaddingDercenteCescapesUsingEncoding:

Então você não precisa codificar todas as várias fugas.Veja a descrição

Peter merece um polegar para cima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top