gpt4 book ai didi

ios - 验证多 uitextfield

转载 作者:行者123 更新时间:2023-12-01 17:59:35 25 4
gpt4 key购买 nike

我使用此代码检查文本字段是否为空。第一次,它会起作用,但是当我更改文本字段值时,警报不起作用。

   -(void)sendclick {
NSString *msg;
if(firstnametextfield.text==NULL) {
msg=@"enter first name";
NSLog(@"%@",firstnametextfield.text);
}
else if(lastnametextfield.text==NULL) {
msg=@"enter last name";
NSLog(@"%@",lastnametextfield.text);
}

else if(emailtextfield.text==NULL) {
msg=@"enter email address";
NSLog(@"%@",emailtextfield.text);
}

else if(companytextfield.text==NULL) {
msg=@"enter company name";
NSLog(@"%@",companytextfield.text);
}

else if(phonetextfield.text==NULL) {
msg=@"enter phone numper";
NSLog(@"%@",phonetextfield.text);
}
else {
msg=@"register success fully";
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:msg delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
[alert show];
[alert release];
}

}

最佳答案

关于这段代码,有几件事需要考虑:

  • 正如其他人指出的那样,这不是检查空字符串的正确方法。
    一种。首先,如果您确实要检查未分配的字符串,您应该检查 nil而不是 NULL .
    湾。其次,字符串也可以分配,但没有字符,所以你应该检查它是否是一个空字符串。
    C。请注意,您通常希望检查这两个条件,并执行相同的操作,因为通常情况下,就业务逻辑而言,nil 字符串和空字符串之间没有区别。
    d。最简单的方法是检查 length的字符串。这是可行的,因为如果将消息发送到 nil对象,它将返回 0,如果它是一个没有字符的实际字符串,它也将返回 0。

    因此,类似于此的检查将起作用:
    if([firstnametextfield.text length] == 0)
  • 您通常会这样做 不是 想要像这样直接检查文本字段的值以进行表单验证。这是因为,在某些情况下(例如,当文本字段位于表格 View 单元格中并滚动出屏幕时)文本字段不可用,您将无法访问存储在文本字段中的数据。

  • 相反,您应该在输入文本后立即收集文本,方法是将文本字段的委托(delegate)设置为 View Controller 并实现以下功能:
    - (void)textFieldDidEndEditing:(UITextField *)textField {
    if (textField == firstnametextfield) {
    // Store the first name in a property, or array, or something.
    }
    }

    然后,当您准备好验证输入的信息时,请使用上面 #1 中的技术检查您存储的值,而不是实际的文本字段值本身。

    关于ios - 验证多 uitextfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12265531/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com