2012-03-06 78 views
16

我得到這個崩潰,但在我的代碼中我使用了一個字符串。我現在一直在研究這段代碼2個小時,我只是看不到我錯過了什麼!有任何想法嗎?- [__ NSCFNumber isEqualToString]錯誤

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

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

錯誤:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x181cf0'

我會很感激輸入,這是混淆了地獄了我!

謝謝。

+0

更多一點的代碼會更好 – Novarg 2012-03-06 14:48:54

+5

這兩行之間必須有一些代碼。否則它不會崩潰。 – Costique 2012-03-06 14:50:36

+0

是的,請在此處張貼您在上面發佈的兩條代碼行之間的所有行。 – MrTJ 2012-03-06 14:50:52

回答

29

擺脫愚蠢的冗餘,看看會發生什麼。

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

另外,你確定錯誤是從你發佈的if聲明中引發的嗎?它可能來自其他地方。

+0

這似乎已修復它。它絕對來自if,改變了所有提到的聲明/斷點測試。謝謝:) – NinjaLikesCheez 2012-03-06 15:04:46

+0

加入[[] stringValue]類型鑄造解決了我的問題。 – Prerna 2013-07-06 19:31:05

+0

非常感謝@psoft。幫助我解決我的JSON解析問題以及:) – Supertecnoboff 2013-09-29 10:20:16

-1
NSString *codeR = [[object objectForKey:@"code"] stringValue]; 

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