我有一個類,其中有一個可訪問的方法,調用時返回NSString
。如果比較兩個NSString對象時「a == b」爲false
myString = cell.textLabel.text;
當我通過調用該方法來檢索該字符串,我把它分配給另一個字符串:
[MyClass getMyString]
在類的字符串變量實際上是在一個表像這樣的didSelectRowAtIndexPath:
部分分配調用它,並將它與我已經定義
NSString *mySecondString;
mySecondString = @"my value";
if(mySecondString == myString){
i = 9;
}
我已經通過代碼,並在每次評估,如果語句時踩串類,IT方面kips正好通過i=9
並轉到下一個else if
聲明。爲什麼會這樣?他們爲什麼不評估價值相同?如果在調試過程中將光標懸停在每個值上,它們將顯示它們具有相同的值,但代碼由於某種原因沒有按照我的預期執行,並將9
指定爲i
。
有什麼想法?
我很驚訝,在這個網站上搜索沒有帶來任何結果。這個問題過去曾多次提出並回答過。 – dreamlax 2011-12-22 02:09:50
也許我沒有問過這個問題,當我搜索之前,我問了...... - 看到很多處理CFString並將其分配給NSString的問題,但沒有看到Kevin Ballard在下面快速回答的問題。謝謝! – MeisterPlans 2011-12-22 02:49:20
[瞭解NSString比較]的可能的重複(http://stackoverflow.com/questions/3703554/understanding-nsstring-comparison) – 2015-04-01 19:00:51