Hex w stringWithFormat BAD ACCESS

Oto część mojego kodu:

Mam ciąg, który jest utworzony przez stringWithFormat w następujący sposób:

<code>NSString * DestChoice = [NSString stringWithFormat:@"%@", Dest1String];
</code>

Ciąg Dest1String jest taki:

<code>NSString * Dest1String = [NSString stringWithFormat:@"%lX", [Dest1OutField integerValue]];
</code>

Dest1OutField to pole NSTextField

Kiedy umieściłem „10” w moim polu tekstowym, ciąg DestChoice kończy się „A”, więc mój kod działa. Kiedy umieściłem „11” w moim polu tekstowym, ciąg DestChoice spowoduje „B”, to też jest dobre. Ale jeśli wstawisz „31”, powinienem uzyskać „1F”, ale mam awarię „EXC_BAD_ACCESS” ...

Nie rozumiem ... Jeśli ktoś może zapalić moją drogę ... :)

Z wyprzedzeniem!

EDYTOWAĆ:

Zawsze jestem utknięty ... Zmodyfikowałem mój kod, aby był „bardziej zrozumiały” i podaję ci dokładny kod, którego używam, a nie próbki:

Więc tworzę dwa takie ciągi:

<code>DestChoice = [NSString stringWithFormat:@"%lX", [DestField integerValue]];
SourceChoice = [NSString stringWithFormat:@"%lX", [SourceField integerValue]];
</code>

Tak więc użytkownik zapisuje wartość źródłową / docelową w wartości dziesiętnej, ale są one przechowywane w postaci szesnastkowej w łańcuchu, a następnie mam przycisk, który formatuje źródło i cel w ten sposób:

<code>NSString * CommandReadyToSend  = [NSString stringWithFormat:@"X:0/%@,%@\r", DestChoice, SourceChoice];
</code>

Mój kod działa, ALE, dziwnie niektóre wartości tworzą EXC_BAD_ACCESS w części CommandReadyToSend ... Przykład: jeśli piszę 1 w moim polu tekstowym => Otrzymuję 1 (wartość szesnastkowa) w wyniku DestChoice Jeśli piszę 10 w moim tekście field => Otrzymuję A w DestChoice

ALE Jeśli piszę 31 w polu tekstowym, powinienem uzyskać 1F, ale otrzymuję EXC_BAD_ACCESS ... To samo z 29 (wartość dec)

questionAnswers(2)

yourAnswerToTheQuestion