Pergunta

Tenho um aplicativo iOS que obtém alguns JSON de um servidor (na forma de NSData).Eu uso o analisador da estrutura SBJson para convertê-lo em um objeto NSDictionary, assim:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [parser objectWithData:data];

Em seguida, leio objetos de 'conteúdo' etc.

Agora, este código exato funcionou PERFEITO usando uma versão antiga do framework SBJson.O programa estava bem.Então eu implementei uma nova versão da estrutura SBJson e de repente meu programa trava quando tento fazer as mesmas coisas com 'conteúdo' (para ser mais específico, recebo um erro EXC_BAD_ACCESS).

Meu primeiro pensamento foi que o novo SBJsonParser produzia um arquivo ligeiramente diferente, então eu registrei o novo e o antigo 'conteúdo' em arquivos de texto e executei o comando 'diff' neles a partir da linha de comando.Eles são EXATAMENTE iguais.

Portanto, a ÚNICA alteração que fiz foi usar o novo SBJsonParser.O que estou perdendo?

Foi útil?

Solução

A solução foi mudar um pouco meu código:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [[parser objectWithData:data] retain];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top