我的屏幕上有多个文本字段。我收到一个名为验证所有文本字段的 JSON 响应。我真正想要的是,只要用户不在正常值的范围内,我就应该能够为这些文本字段设置验证。我为此准备了一个逻辑:代码如下
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;{
// Here we are checking if TextField is not equals to blank then we are performing
validations here.
if (![textField.text isEqualToString:@""]) {
NSLog(@"%@",textField.UID);
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"column_name == %@",
textField.UID];
NSArray * arr = [[NSArray alloc] init];
arr = [arr_vitalvalidations filteredArrayUsingPredicate:predicate];
for (int i=0; i < [arr count]; i++) {
NSString * str_maxValue = [[arr objectAtIndex:i] valueForKey:@"max_value"];
NSString * str_minValue = [[arr objectAtIndex:i] valueForKey:@"min_value"];
if ([textField.text floatValue] > [str_maxValue floatValue] || [textField.text
floatValue] < [str_minValue floatValue]) {
NSString * str_message = [[arr objectAtIndex:i]
valueForKey:@"message_note"];
str_message = [str_message stringByReplacingOccurrencesOfString:@"%1"
withString:str_minValue];
str_message = [str_message stringByReplacingOccurrencesOfString:@"%2"
withString:str_maxValue];
DisplayAlert(str_message)
[textField becomeFirstResponder];
return NO;
}
}
}
return YES;
}
此代码实际上使其他文本字段处于休眠状态,因为现在我无法切换到其他文本字段,直到我将正确的值放入第一个文本字段中。我的屏幕上也有其他控件,但它们工作正常。例如,一个段控制器将高度的值(以厘米为单位)更改为英尺。该段控制器仍在工作,并且正确地更改了我必须阻止的值。此外,在按下返回按钮以离开此屏幕时,此代码显示警报消息 4 次。请帮我解决这个问题。一点帮助将不胜感激。