我卡住了。 我給你,我用確切的代碼,而不是一個樣本:EXC_BAD_ACCESS奇怪的十六進制字符串轉換
所以,我做兩個字符串是這樣的:
DestChoice = [NSString stringWithFormat:@"%lX", [DestField integerValue]];
SourceChoice = [NSString stringWithFormat:@"%lX", [SourceField integerValue]];
所以用戶編寫源/目標在十進制值,但他們放養十六進制的字符串,然後我有一個按鈕,重新格式化源& DEST這樣的:
NSString * CommandReadyToSend = [NSString stringWithFormat:@"X:0/%@,%@\r", DestChoice, SourceChoice];
我的代碼工作,但是,strangly一些值使得EXC_BAD_ACCESS在CommandReadyToSend部分... 例如:如果我在我的文本字段中寫入1 =>我在DestChoice中收到1(十六進制值) 如果我在我的文本字段中寫入10 =>我在DestChoice中收到A
但是如果我在文本字段,我應該得到1F,但我得到一個EXC_BAD_ACCESS ... 同樣的事情與29(dec值)
似乎某些十六進制值不能重新格式化爲字符串,我不明白...
現在無法檢查,但嘗試用%X替換%lX – giorashc
聲明「DestChoice」和「SourceChoice」在哪裏以及如何? –
它們被聲明爲字符串:NSString * DestChoice = @「」; NSString * SourceChoice = @「」; –