gpt4 book ai didi

objective-c - EXC_BAD_ACCESS 奇怪的十六进制到字符串的转换

转载 作者:行者123 更新时间:2023-12-03 17:41:57 24 4
gpt4 key购买 nike

我被困住了。我给你我使用的确切代码,而不是示例:

所以,我制作了两个这样的字符串:

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

因此,用户以十进制值写入源/目标,但它们以十六进制形式存储在字符串中,然后我有一个按钮可以重新格式化源和目标,如下所示:

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

我的代码正在工作,但是,奇怪的是,有些值在 CommandReadyToSend 部分产生了 EXC_BAD_ACCESS...示例:如果我在文本字段中写入 1 => 我会收到 1(十六进制值)作为 DestChoice 的结果如果我在文本字段中写入 10 => 我在 DestChoice 中收到 A

但是如果我在文本字段中写入 31,我应该得到 1F,但我得到了 EXC_BAD_ACCESS...与 29(十进制值)相同

似乎某些十六进制值无法重新格式化为字符串,我不明白......

最佳答案

似乎对我有用,原因一定在其他地方。

    NSString *destChoice = [NSString stringWithFormat:@"%lX", 1];
NSString *sourceChoice = [NSString stringWithFormat:@"%lX", 31];
NSString *commandReadyToSend = [NSString stringWithFormat:@"X:0/%@,%@\r", destChoice, sourceChoice];
NSLog(@"%@", commandReadyToSend);

2012-05-10 13:56:29.092 测试[9383:707] X:0/1,1F

-

顺便说一句;如果 DestFieldUITextField 那么您应该使用 [DestField.text integerValue]; - 这可能是您的问题。

关于objective-c - EXC_BAD_ACCESS 奇怪的十六进制到字符串的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com