obe*_*aum 9 iphone uitextfield
我在iphone应用程序中有一个典型的文本字段,而在ViewWillAppear中,我想使用文本字段中的文本做一些逻辑.
如果txtField.text为空,我希望选择下一个文本字段txtField2进行输入.
我试图通过以下方式实现这一目标:
if (txtField.text != @"") [txtField2 becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)
但是经过一些测试,txtField.text(虽然是空的)仍然没有注册为等于@""我错过了什么?
Iva*_*pan 19
比较两个指针变量时,实际上比较了这两个变量指向的内存中的地址.这种表达式唯一的情况是,当你有两个指向一个对象的变量时(因此指向内存中的同一个地址).
为了比较对象,常用的方法是使用isEqual:定义的NSObject.这样的类NSNumber,NSString有其他比较方法命名isEqualToNumber:,isEqualToString:等等.以下是您的情况示例:
if ([txtField.text isEqualToString:@""]) [txtField2 becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)
如果你想做某事NSString实际上不是空的,请使用!符号来反转表达式的含义.这是一个例子:
if (![txtField.text isEqualToString:@""]) [txtField2 becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)
你必须检查:
if (txtField.text.length != 0)
Run Code Online (Sandbox Code Playgroud)
要么
if ([txtField.text isEqualToString:@""])
Run Code Online (Sandbox Code Playgroud)
写你的方式:(txtField.text != @"")你实际上比较pointers字符串,而不是他们的实际字符串值.
| 归档时间: |
|
| 查看次数: |
24144 次 |
| 最近记录: |