簡體   English   中英

iphone / objective-c如何檢查文本字段是否為空

[英]iphone / objective-c how to check to see if a textfield is empty

我在iphone應用程序中有一個典型的文本字段,而在ViewWillAppear中,我想使用文本字段中的文本做一些邏輯。

如果txtField.text為空,我希望選擇下一個文本字段txtField2進行輸入。

我試圖通過以下方式實現這一目標:

if (txtField.text != @"") [txtField2 becomeFirstResponder];

但是經過一些測試,txtField.text(雖然是空的)仍然沒有注冊為等於@“”我錯過了什么?

比較兩個指針變量時,實際上比較了這兩個變量指向的內存中的地址。 這種表達式唯一的情況是,當你有兩個指向一個對象的變量時(因此指向內存中的同一個地址)。

要比較對象,常見的方法是使用isEqual:NSObject定義。 NSNumberNSString這樣的類有額外的比較方法,名為isEqualToNumber:isEqualToString:等等。 以下是您的情況示例:

if ([txtField.text isEqualToString:@""]) [txtField2 becomeFirstResponder];

如果你想要做一些事情,如果NSString實際上不是空的使用! 用來扭轉表達意義的符號。 這是一個例子:

if (![txtField.text isEqualToString:@""]) [txtField2 becomeFirstResponder];

你必須檢查:

if (txtField.text.length != 0)

要么

if ([txtField.text isEqualToString:@""])

寫你的方式: (txtField.text != @"")你實際上比較pointers字符串的pointers ,而不是它們的實際字符串值。

您還必須檢查是否為零

if([textfield.text isEqualToString:@""] || textfield.text== nil )

只有當用戶單擊文本字段時,您才能使用isEqualToString進行檢查,否則文本字段將為零,因此您可以更好地檢查兩種情況。

祝一切順利

我們已經有內置方法返回布爾值,指示文本輸入對象是否有任何文本。 檢查帶鏈接的簡單解決方案

https://stackoverflow.com/a/25726765/3647325

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM