判斷字符串是否相等 isEqualToString:

// if((btn.currentTitle == answerBtn.currentTitle) && btn.hidden == YES)
// 字符串相等比較 不要直接比,這樣比的是指針,不是指針指向的數據
if([btn.currentTitle isEqualToString:answerBtn.currentTitle] && btn.hidden == YES)spa

 

 

 

 

NSString *strA = [NSString stringWithFormat:@"a"];

NSString *strB = [NSString stringWithFormat:@"b"];

if( strA == strB)

    NSLog(@"A is equal to B");

    else

    NSLog(@"A is not equal to B");

 

運行這段code, 在console 上的輸出是: A is not equal to B 指針

 

代碼作些改動, 將 strA 與strB 設爲相等。 code

NSString *strA = [NSString stringWithFormat:@"a"];

NSString *strB = [NSString stringWithFormat:@"a"];

if( strA == strB)

    NSLog(@"A is equal to B");

    else

    NSLog(@"A is not equal to B");

 

運行這段code ,在console上的輸出仍然是 A is not equal to B 。orm

這是爲何呢 ?問題出在 字符串對比的語句上。blog

 

if ( strA == strB) // 這個strA, strB 是指針, 雖然字符串的內容是相同的, 但指向字符串的 指針確定是不一樣的, 也不能相同啊。 (爲了更好地理解字符串,須要弄清楚 指針的概念。 內存的分配。 )內存

 

    // 錯誤:if( strA == strB)字符串

    // 正確: if ([strA isEqualToString:strB]) string

iOS SDK 自己 也提供了 字符串對比的方法: isEqualToString: it

相關文章
相關標籤/搜索