Шестнадцатеричный в строке с форматом BAD ACCESS
Вот часть моего кода:
У меня есть строка, которая сформирована stringWithFormat, как это:
<code>NSString * DestChoice = [NSString stringWithFormat:@"%@", Dest1String]; </code>
Dest1String формируется так:
<code>NSString * Dest1String = [NSString stringWithFormat:@"%lX", [Dest1OutField integerValue]]; </code>
Dest1OutField является NSTextField
Когда я поставлю "10" в моем текстовом поле строка DestChoice приводит к & quot; A & quot; так что мой код работает. Когда я поставлю "11" в моем текстовом поле строка DestChoice приводит к «B», это тоже хорошо. Но если поставить «31» я должен получить «1F»; но у меня есть & quot; EXC_BAD_ACCESS & quot; авария ...
Я не понимаю ... Если кто-то может осветить мой путь ... :)
Заранее!
РЕДАКТИРОВАТЬ:
Итак, я всегда застрял ... Я изменил свой код так, чтобы он был «более понятным» и я даю вам точный код, который я использую, а не образец:
Итак, я делаю две строки, как это:
<code>DestChoice = [NSString stringWithFormat:@"%lX", [DestField integerValue]]; SourceChoice = [NSString stringWithFormat:@"%lX", [SourceField integerValue]]; </code>
Таким образом, пользователь записывает Source / Dest в десятичном значении, но они хранятся в виде шестнадцатеричной строки, а затем у меня есть кнопка, которая переформатирует источник & amp; дест как это:
<code>NSString * CommandReadyToSend = [NSString stringWithFormat:@"X:0/%@,%@\r", DestChoice, SourceChoice]; </code>
Мой код работает, НО, странно некоторые значения делает EXC_BAD_ACCESS в части CommandReadyToSend ... Пример: если я напишу 1 в моем текстовом поле = & gt; Я получаю 1 (шестнадцатеричное значение) как результат в DestChoice Если я напишу 10 в моем текстовом поле = & gt; Я получаю A в DestChoice
НО, если я напишу 31 в текстовом поле, я должен получить 1F, но я получу EXC_BAD_ACCESS ... То же самое с 29 (значение dec)