2012-10-06 54 views
-3

可能重複:
Understanding NSString comparison in Objective-C爲什麼我的字符串比較不適用於iOS 6?

我已經用了一個應用程序的多個版本這個簡單的代碼,直到iOS 6中的字符串比較已經工作,但現在它失敗 - 爲什麼?

if([email protected]"Font"){ 
    NSLog(@"going to dofontpicker"); 
    [self doFontPicker]; 
}else if([email protected]"Color"){ 
    NSLog(@"going to do colorpicker"); 
    [self doColorPicker]; 
} 
+0

我不認爲這會在iOS的任何版本中工作... –

回答

10

因爲它從來沒有真正奏效。使用==運算符比較字符串不起作用,因爲字符串(NSString對象)是指針 - 執行數字比較只比較它們的地址,而不是它們的內容。你需要寫

if ([someString isEqualToString:@"Font"]) { 
    // do stuff 
} 

編輯:我聽到你尖叫「但它的工作!它真的工作,直到iOS 6!」 - 不。它沒有,這只是偶然的事情。

+2

你是對的 - 我是一個白癡,我在其他地方正確地做...謝謝 – wayneh

+0

@wayneh,哈哈很高興你承認。現在,在您的問題評分進一步自由落體之前,請刪除此問題。 –

相關問題