2011-07-15 89 views
0

我在試圖查看用戶在文本字段中輸入的內容是否等於一個字符串。出於某種原因,我的應用程序不聽:從UITextField中獲取文本

[textField1 text] isEqualToString:@"Blah"; 

它似乎沒有迴應文本:

[textField1.text isEqualToString:@"Blah"]; 

它也不會一起工作。然而,當我簡單地將textField1連接到文本視圖時,一切都很好用!我究竟做錯了什麼?謝謝你的幫助!

+0

如果您textfield1的實際對應,並迷上了代碼right..the第一行應返回TRUE,如果在它的文本實際上恰好等於@「嗒嗒」 –

+0

你得到你期望的字符串,如果你'的NSLog( @「%@」,textField1.text);'? – xoebus

+0

它的'textField1'設置爲零? – bshirley

回答

-2
if ([textField1.text compare:@"Blah"] ==0) { 
//its a match 

} 
+0

謝謝!它工作完美。 –

+1

除非該字符串有特殊字符,否則這應該不會與第一行代碼有所不同。 –

+1

如果您打算使用'compare',請使用'NSOrderedSame'(而不是0)來提高可讀性! – bshirley

1

我建議記錄你從textField1.text得到的。如果返回的字符串是nil,而文本字段中有文本,則表示您的網點沒有正確連接。認識到-isEqualToString尋找完全匹配(大小寫,空格,全部)也很重要,所以即使多餘的空間也會導致它返回NO

+0

無論您是否輸入內容,它都會返回NULL。我現在只需要一個精確匹配,然後如果需要,我會在稍後執行stringRange。謝謝。 –

+2

如果即使在文本字段中有文本時它仍然返回NULL,這意味着插座沒有正確連接。仔細檢查你的網點,並確保你在輸入文本後調用'textField1.text'。 – indragie

+0

Louie說得很對。我用他的代碼替換了我的代碼,而沒有觸及鏈接,它的工作。 –