2010-08-19 55 views
0

我想問一個客觀的C問題。我有一個字符串從UITextField中檢索,我想檢查字符串是否包含'@'。但是,當我使用下面的代碼時,它有一些錯誤,任何人都可以幫助我嗎?謝謝。如何更新NSString?

if([inputTextField.text rangeOfString:@"%"].location != NSNotFound) 
    NSLog(@"It does not contain the %@"); 
else 
    NSLog(@"It contains the %@"); 

回答

2

檢查語法:

if([inputTextField.text rangeOfString:myString].location == NSNotFound) 
    NSLog(@"It does not contain the %@", myString); 
else 
    NSLog(@"It contains the %@", myString); 

正如你將看到的,%@將與myString內容所替代。

+0

非常感謝。 – Questions 2010-08-19 07:37:49

+0

不客氣。 如果您需要顯示「@」,請嘗試加倍符號,即使用%@@而不是%@。不太確定它是否可以工作,但你可以試試。 – 2010-08-19 07:45:25

+0

該代碼實際上給出了錯誤的結果。將「!=」comparrison更改爲「==」以使其正常工作。 – 2010-08-19 08:07:38

0

在你NSLog語句中你放了%@但沒有參數之後。

+0

感謝您的回覆。如果我想在陳述中顯示「@」,我該怎麼辦? – Questions 2010-08-19 07:34:26

1

您可以使用

NSLog([NSString stringWithUTF8String: "It does not contain the @"]); 

或只是

NSLog(@"It contains the @"); 

注:裏面的@ 「...」 結構,你應該只使用7位ASCII符號,見Apple's developer documentation

2

此代碼應該做的伎倆:

if([inputTextField.text rangeOfString:@"@"].location == NSNotFound) 
    NSLog(@"It does not contain the @"); 
else 
    NSLog(@"It contains the @");