【问题标题】:-[__NSCFNumber isEqualToString] error-[__NSCFNumber isEqualToString] 错误
【发布时间】:2012-03-24 01:28:23
【问题描述】:

我遇到了这个崩溃,但是,在我的代码中,我使用了一个字符串。我已经在这段代码上工作了 2 个小时,但我看不出我错过了什么!有什么想法吗?

 NSString *codeR = [NSString stringWithFormat:@"%@", [[object objectForKey:@"code"] stringValue]];

    if([codeR isEqualToString:@"200"])

错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFNumber isEqualToString:]:无法识别的选择器已发送到实例 0x181cf0”

非常感谢您的意见,这让我很困惑!

谢谢。

【问题讨论】:

  • 多一点代码就好了
  • 这两行之间一定有一些代码。否则它不会崩溃。
  • 是的,请在此处发布您在上面发布的两个代码行之间的所有行。
  • 两者之间没有任何代码。诚实的。上面这些行是一个 JSONParser 从请求中抓取一些返回数据到服务器。

标签: objective-c ios


【解决方案1】:

摆脱愚蠢的冗余,看看会发生什么。

NSString *codeR = [[object objectForKey:@"code"] stringValue];
// mysterious missing code
if ([coreR isEqualToString:@"200"]) // etc

另外,您确定错误是从您发布的if 声明中引发的吗?它可能来自其他地方。

【讨论】:

  • 这似乎已经解决了。它肯定来自 if,更改语句/断点测试都指向了这一点。谢谢你:)
  • 非常感谢@psoft。也帮我解决我的 JSON 解析问题 :)
【解决方案2】:
NSString *codeR = [[object objectForKey:@"code"] stringValue];

if ([codeR isEqualToString:@"200"])
{
// Do stuff...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多