gpt4 book ai didi

iphone - NSNumberFormatter 使 iPhone SDK 4.0b2 崩溃

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

我有一个应用程序已经在应用程序商店中出现了一段时间,并且在 OS 3.1 - 3.13 上完美运行。但是,在 4.0b2 上进行测试时,我注意到它每次都在同一个地方崩溃,但只在设备上,从不在模拟器上。我正在使用3GS进行测试。

在 loadView 上,我初始化了一个 NSNumberFormatter 对象,该对象在接口(interface)中声明并保留,因此我可以在任何地方访问它。在我的方法中,我多次调用它来将字符串值转换为 nsnumbers 以存储在可变字典中。

这是一个例子:

[myDictionary setObject:[myStyleFormatter numberFromString:@"1"] forKey:@"hours"];
[myDictionary setObject:[myStyleFormatter numberFromString:@"30"] forKey:@"minutes"];
[myDictionary setObject:[myStyleFormatter numberFromString:@"10"] forKey:@"seconds"];

出于某种原因,它会在尝试设置小时数时立即崩溃。错误是“尝试插入零值(键:小时)”

我是不是一直做错事? 4.0b2 的 api 是否已更改?

谢谢,

豪伊

最佳答案

我有同样的问题。我追踪到 NSNumberFormatter不喜欢在数字中每 3 位使用空格(或逗号)的语句。这是拥有 number formatter 的原因之一.

NSNumber *number = [currencyFormatter numberFromString:mstring];

在互联网上的许多示例中,它都是相当标准的代码,所以我怀疑很多人会发现问题。

无论如何,我通过去掉空格来修复它
NSArray *sArray = [mstring componentsSeparatedByString:@" "];
[mstring setString:@" "]; //space at beginning is OK, would prefer nil
for (NSString *sElement in sArray) {
[mstring appendString:sElement];
}

然后 currencyFormatter线路工作。

但是,在我的代码的另一个区域,相同的 currencyFormatter声明没有问题。我尝试更改该区域的代码以导致问题,但我做不到。

所以,很好奇!!!

关于iphone - NSNumberFormatter 使 iPhone SDK 4.0b2 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706888/

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