내 문제는 사용자가 범위에 값을 입력 할 수 있습니다처럼 내 범위는 JSON에서오고 ... 할 필요가있다사이에만 값을 허용해야 UITextField에 작업을 수행하는 방법에 범위
여기에 내가 시도간에 ... 여기 내 코드입니다 A, B, 내 시작 범위는 b는 최종 범위 사용자가 나는 그냥 텍스트 필드의 length
을 확인하여 간단하게 할 수 있다고 생각하지 범위
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField)
{
NSData *data = [((MDCFlowDetails *)_flow).flow_data dataUsingEncoding:NSUTF8StringEncoding];
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSString *a = [json objectForKey:@"startrange"];
NSString *b = [json objectForKey:@"endrange"];
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSString *expression = @"^([0-9]+)?(\\.([0-9]{1,2})?)?$";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:expression
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:newString
options:0
range:NSMakeRange(0, [newString length])];
if (numberOfMatches == 0)
return NO;
}
return YES;
}
그리고 정확히 "startRange"와 "endRange는"무엇 :
코드 아래를 참조하십시오? 이 단어들이 있습니까? 번호? 커피 기계의 색인? 이러한 변수는 코드에서 사용되지 않습니다. 내가 보는 모든 것은 (나는 이해할 수없는) 정규 표현식이다. 더 많은 정보를 추가해야합니다. –@MatthiasBauch startRange 및 endRange는 숫자 –
입니다. 따라서 범위는 최대 및 최소 newString 길이입니까? – Mateusz