Dados JSON idênticos, mas o programa falha?
-
29-10-2019 - |
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?
Solução
A solução foi mudar um pouco meu código:
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *content = [[parser objectWithData:data] retain];