2011-12-21 2 views
-1

나는 UITextfield를 가지고 있는데, 그것에 입력 된 값이 특정 범위 (2에서 10 사이)인지 확인해야합니다. 누구든지 샘플 코드를 도울 수 있습니까? 이 코드UITextfiled에서 값 확인하기

if([[textfieldobject.text stringByTrimmingCharactersInSet: 
         [NSCharacterSet whitespaceCharacterSet]] length] != 0 && 
         [[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] <= 2 && 
         [[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] > 10) 

답변

1

문자열 값을 int로 변환 한 다음 범위를 확인하십시오. intValue는 항상 유효한 int 변환 (숫자가 아닌 경우 0)을 리턴합니다. 누군가가 "a10"을 입력하면 결과는 0이 될 것이며 아래 코드에서 범위 내에들 것이라는 점을 기억하십시오.

int convertedValue = [textFieldObject.text intValue]; 
if (convertedValue >= 0 && convertedValue <= 10) { 
    NSLog(@"In range"); 
} else { 
    NSLog(@"Out of range"); 
} 

당신은 그들이 UITextFieldDelegate의 위임 재정 의하여 입력되는 같은 범위의 문자에서 방지 할 수 있습니다 :

shouldChangeCharactersInRange 

을하거나 위임을 무시하고 수표를 실행 한 후 통지를 팝업 및 사용자 편집을 .

textFieldDidEndEditing 
+0

경우 ([stringByTrimmingCharactersInSet textfieldobject.text [NSCharacterSet whitespaceCharacterSet] 길이]! = 0 || ((플레이어> 2) && (플레이어 <6))) { 코드 ... } else { 코드 ... } 이렇게 준 적이 있지만 항상 else 부분에 입력됩니다. – priya

0

을 사용했다

이의 길이 속성을 사용할 수 있습니다.

+0

는 응답을받지 – priya