Hex in einem stringWithFormat BAD ACCESS
Hier ist ein Teil meines Codes:
Ich habe eine Zeichenfolge, die von einem stringWithFormat wie folgt gebildet wird:
<code>NSString * DestChoice = [NSString stringWithFormat:@"%@", Dest1String]; </code>
Der Dest1String ist wie folgt aufgebaut:
<code>NSString * Dest1String = [NSString stringWithFormat:@"%lX", [Dest1OutField integerValue]]; </code>
Das Dest1OutField ist ein NSTextField
Wenn ich "10" in mein Textfeld eingebe, ergibt die DestChoice-Zeichenfolge "A", sodass mein Code funktioniert. Wenn ich "11" in mein Textfeld einfüge, ergibt der DestChoice-String "B", das ist auch gut so. Aber wenn "31" gesetzt wird, soll ich "1F" bekommen, aber ich habe einen "EXC_BAD_ACCESS" Absturz ...
Ich verstehe nicht ... Wenn jemand meinen Weg beleuchten kann ... :)
Danke im Voraus!
BEARBEITEN:
Also stecke ich immer fest ... Ich habe meinen Code so bearbeitet, dass er "verständlicher" ist und ich gebe Ihnen den genauen Code, den ich verwende, kein Beispiel:
Also mache ich zwei Zeichenfolgen wie folgt:
<code>DestChoice = [NSString stringWithFormat:@"%lX", [DestField integerValue]]; SourceChoice = [NSString stringWithFormat:@"%lX", [SourceField integerValue]]; </code>
Der Benutzer schreibt also die Quelle / das Ziel als Dezimalzahl, aber sie sind als Hexadezimalzahl in einer Zeichenfolge gespeichert, und dann habe ich eine Schaltfläche, die die Quelle & das Ziel wie folgt neu formatiert:
<code>NSString * CommandReadyToSend = [NSString stringWithFormat:@"X:0/%@,%@\r", DestChoice, SourceChoice]; </code>
Mein Code funktioniert, ABER seltsamerweise machen einige Werte einen EXC_BAD_ACCESS im CommandReadyToSend-Teil ... Beispiel: Wenn ich 1 in mein Textfeld schreibe => Ich erhalte 1 (Hex-Wert) als Ergebnis in DestChoice field => Ich erhalte A in DestChoice
ABER wenn ich 31 in das Textfeld schreibe, soll ich 1F bekommen, aber ich bekomme ein EXC_BAD_ACCESS ... Gleiches mit 29 (dec value)