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