Hex en un stringWithFormat BAD ACCESS

Aquí hay una parte de mi código:

Tengo una cadena formada por un stringWithFormat como este:

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

El Dest1String se forma así:

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

El Dest1OutField es un NSTextField

Cuando pongo "10" en mi campo de texto, la cadena DestChoice da como resultado "A", por lo que mi código está funcionando. Cuando coloco "11" en mi campo de texto, el resultado de la cadena DestChoice en "B", esto también es bueno. Pero si pongo "31" se supone que debo obtener "1F" pero tengo un bloqueo "EXC_BAD_ACCESS" ...

No entiendo ... Si alguien puede iluminar mi camino ... :)

Thans por adelantado!

EDITAR:

Por lo tanto, siempre estoy atascado ... Edité mi código para ser "más comprensible" y te doy el código exacto que utilizo, no una muestra:

Entonces, hago dos cuerdas como esta:

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

Así que el usuario escribe el origen / destino en valor decimal, pero están almacenados como hex en una cadena, y luego tengo un botón que reformatea la fuente y el destino de esta manera:

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

Mi código funciona, PERO, extrañamente, algunos valores forman un EXC_BAD_ACCESS en la parte CommandReadyToSend ... Ejemplo: Si escribo 1 en mi campo de texto => Recibo 1 (valor hexadecimal) como resultado en DestChoice Si escribo 10 en mi texto campo => Recibo A en DestChoice

PERO si escribo 31 en el campo de texto, se supone que debo obtener 1F, pero obtengo un EXC_BAD_ACCESS ... Lo mismo con 29 (valor dec)

Respuestas a la pregunta(2)

Su respuesta a la pregunta