1

我在 NSSTRING 中有一个简单的值,我想将其转换为 NSNumber。我一直在我的代码中这样做,由于某种原因,这次它不起作用。你觉得这有什么问题吗?

NSNumberFormatter * num_formatter = [[NSNumberFormatter alloc] init];
[num_formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *score;
NSString *mystr = [[player ScoresArray] objectAtIndex:currentKeeper - 1];


NSLog(@"here is my string: -%@-", mystr);
score = [num_formatter numberFromString:mystr];   // crash occurs on this line.  see error below...
NSLog(@"now it is: %d", [score intValue]);        // it never gets to this line...

以下是上述代码的输出:

这是我的字符串:-3-

这是我得到的错误:

2013-02-26 17:21:48.912 Golf Whiz[50407:c07] -[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0xcb5fa90
2013-02-26 17:21:48.912 Golf Whiz[50407:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0xcb5fa90'
*** First throw call stack:
4

2 回答 2

1

确保您添加到 ScoresArray 的对象实际上是字符串,而不是 NSNumber。

于 2013-02-26T22:56:32.577 回答
0

谢谢,正如怀疑的那样,事实证明我确实在 scoreArray 中有 nsnumber 对象。我在这段代码中从 string 到 num 来来回回,以至于我的脑袋都快要爆炸了。抱歉这个蹩脚的问题 - 如果可以的话,我现在会否决我自己的问题......哈哈

于 2013-02-27T01:42:21.163 回答