我有一小段代码,我注意到arm64
目标的代码表现不同。我从JSON数据中获取数字字符串,然后使用integerValue
将字符串转换为整数。该字符串通常具有数千个分隔符,以逗号的形式。
在非64位目标上(iPhone 4 / s,5 / s等),一切都运行良好,无论是否有数字分隔的逗号,我都会得到正确的整数。但是,在arm64
上,integerValue
仅在分隔符逗号之前返回数字的第一个“块”。我已经包含了代码和示例结果,以显示究竟发生了什么:
NSInteger value = [BTCValue integerValue];
[UIApplication sharedApplication].applicationIconBadgeNumber = value;
例如,在非64位目标上:
BTCValue = @"54,321.00"
和value = 54321
。
在arm64目标上,但是:
BTCValue = @"54,321.00"
和value = 54
。
value
是int还是NSInteger似乎无关紧要,无论如何都会发生同样的事情。有什么东西我不见了吗?我不明白为什么一切都在armv7上正常工作,而不是arm64。
答案 0 :(得分:4)