Hex em uma stringWithFormat BAD ACCESS
Aqui está uma parte do meu código:
Eu tenho uma string que é formada por uma stringWithFormat assim:
<code>NSString * DestChoice = [NSString stringWithFormat:@"%@", Dest1String]; </code>
O Dest1String é formado assim:
<code>NSString * Dest1String = [NSString stringWithFormat:@"%lX", [Dest1OutField integerValue]]; </code>
O Dest1OutField é um NSTextField
Quando eu coloco "10" no meu campo de texto, a string DestChoice resulta em "A", então meu código está funcionando. Quando eu coloco "11" no meu campo de texto, a string DestChoice resulta em "B", isso também é bom. Mas se colocar "31" eu deveria ter "1F", mas eu tenho um acidente "EXC_BAD_ACCESS" ...
Eu não entendo ... Se alguém puder iluminar meu caminho ... :)
Thans antecipadamente!
EDITAR:
Então, eu estou sempre preso ... Eu editei meu código para ser "mais compreensível" e eu te dou o código exato que eu uso, não uma amostra:
Então, faço duas sequências assim:
<code>DestChoice = [NSString stringWithFormat:@"%lX", [DestField integerValue]]; SourceChoice = [NSString stringWithFormat:@"%lX", [SourceField integerValue]]; </code>
Assim, o usuário escreve o valor de Origem / Destino em Decimal, mas eles são estocados como hexa em uma string, e então eu tenho um botão que reformata a origem e dest assim:
<code>NSString * CommandReadyToSend = [NSString stringWithFormat:@"X:0/%@,%@\r", DestChoice, SourceChoice]; </code>
Meu código está funcionando, MAS, estranhamente alguns valores fazem um EXC_BAD_ACCESS na parte CommandReadyToSend ... Exemplo: Se eu escrever 1 no meu campo de texto => eu recebo 1 (valor hexadecimal) como resultado em DestChoice Se eu escrevo 10 no meu texto campo => Eu recebo A no DestChoice
MAS se eu escrever 31 no campo de texto, devo obter 1F, mas recebo um EXC_BAD_ACCESS ... Mesma coisa com 29 (dec valor)