2011-12-22 110 views
0

我已經編寫了一些通過PHP將數據發佈到MySql數據庫的代碼,PHP代碼通過JSON返回'YES'或'NO'的值。然後我有一個if語句來檢查它是YES還是NO。當我手動設置「工作」字符串時,if語句完美工作,但如果我使用JSON中的數據,則不會。我已經檢查過它使用NSLog正確設置,我真的不知道問題可能是什麼。這裏是我的代碼的縮短版本:如果語句不適用於下載的數據

-(void) dataDownloaded { 
    NSDictionary *theDictionary = [_theArray objectAtIndex:0]; 
    NSString *worked = [theDictionary objectForKey:@"worked"]; 

    NSLog(@"%@", worked); 

    if (worked == @"NO") { 
     //code for if it didn't work 
    } else if (worked == @"YES"){ 
     //code for if it did work 
    } else { 
     //code for if it doesn't return either value 
    } 
} 

在此先感謝任何能解決問題的人!

回答

1

則應使用isEqualToString:字符串comparsions

if ([worked isEqualToString:@"NO"]) { 

} 
2

你的問題是你使用==比較。這是行不通的。我認爲你需要閱讀Objective-C - 試試http://www.cocoadevcentral.com/。下面是你應該如何修復你的代碼:

-(void) dataDownloaded { 
    NSDictionary *theDictionary = [_theArray objectAtIndex:0]; 
    NSString *worked = [theDictionary objectForKey:@"worked"]; 

    NSLog(@"%@", worked); 

    if ([worked isEqualToString:@"NO"]) { 
     //code for if it didn't work 
    } else if ([worked isEqualToString:@"YES"]){ 
     //code for if it did work 
    } else { 
     //code for if it doesn't return either value 
    } 
} 
+0

對不起,這是一個非常愚蠢的錯誤!非常感謝你。 – 2011-12-22 22:19:59

相關問題