2011-03-05 39 views
2

嘿所有,我要看書,說:「這是一個測試」和我想比較它在網絡上的文件...所以這裏是我的了:字符串從網上比較

NSError *error; 
NSURL *theURL = [NSURL URLWithString:@"http://mysite.com/test.asp"]; 
NSString *test = [NSString stringWithContentsOfURL:theURL encoding:NSASCIIStringEncoding error:&error]; 

NSLog(@"%@",test); //prints the results.. .does work 


if(test == "this is a test"){ 
    NSLog(@"File read"); 
} else { 
    NSLog(@"Bad file"); 
} 

我在這裏做錯了什麼?我總是得到「糟糕的文件」,但我知道它正在拉動文本。感謝所有

達明

回答

0

如果使用==,你會比較兩個指針。使用isEqual:像這樣:

if([test isEqual: @"this is a test"]) { 
    // equal 
}else{ 
    // not equal 
} 
+0

ohhhhh ......如果我想從網上比較一個int ....會是這樣的.. 如果([(int)的測試,isEqual:方法1] ){ etc ... } ?另外,我將如何將其轉換爲switch語句?謝謝你的幫助! – Damien 2011-03-06 13:38:43

4

您需要檢查零以及&則應使用isEqualToString函數進行比較。

if(test != nil){ 

    if([test isEqualToString:@"this is a test"]) { 
     // equal 
    } 
    else{ 
     // not equal 
    } 
} 

else{ 

    NSLog(@"Bad file"); 

} 
+0

感謝您的幫助...查看我在下面寫的內容...不幸的是,我沒有收到此評論的電子郵件。直到閱讀下面的內容後,我才知道它在這裏。謝謝你的幫助!!!! – Damien 2011-03-06 13:43:20

0

除了2個答案,你也可以使用。

– caseInsensitiveCompare: 
– localizedCaseInsensitiveCompare: 
– compare: 
– localizedCompare: 
– compare:options: 
– compare:options:range: 
– compare:options:range:locale: 
– localizedStandardCompare: