2013-08-30 5 views
-2

NSMutableArray 안에 정수 값이 있습니다. UITextFieldUIButton을 추가했습니다. textfield 안에 숫자를 입력하고 버튼을 클릭하면 비교가 수행됩니다. 입력 한 숫자가 일치하면 NSLog으로 표시해야합니다. 하지만 작동하지 않습니다.배열을 사용하여 정수 값을 비교하십시오.

코드 :

arr = [[NSMutableArray alloc]init]; 
[arr addObject:[NSNumber numberWithInteger:1]]; 

버튼 클릭 :

-(void)click:(id)sender{ 
    if (text.text == [arr objectAtIndex:0]){ 
     NSLog(@"values matched"); 
    } 
} 
+0

이 문제를보십시오 : 당신은 ==와는 .text 속성있는 NSString을 비교할 수 없습니다 운영자. 당신. 문자열을 비교하기 위해서는'isEqualToString :'이 필요합니다. 또한 배열 항목은 NSString이 아니라 NSNumber입니다. –

답변

3

-(void)click:(id)sender{ 

    NSString *str = [NSString alloc]initWithFormat:@"%d",[arr objectAtIndex:0]]; 
     if([text.text isEqualToString: str]){ 

      NSLog(@"values matched"); 


     } 
    } 
2

내가 배열 NSNumber 개체를 포함 같은데; 그래서 NSNumber 객체에 텍스트 필드의 내용을 변환하고 배열에 그것을 찾기 위해 [NSArray indexOfObject]를 사용하는 경우 :

- (void)click:(id)sender{ 
    NSNumber *num = [NSNumber numberWithInt:[text.text intValue]]; 
    NSUInteger index = [arr indexOfObject:num]; 
    if (index != NSNotFound) { 
     NSLog(@"values matched"); 
    } 
} 
+0

@middaparka OP는 텍스트 필드를 배열의 * 모든 * 값 또는 첫 번째 객체와 일치시키려는 경우에도 여전히 명확하지 않습니다. – trojanfoe

+0

"배열의 모든 객체 검사"접근 방식이 정확히 무엇과 일치합니까? OP는 텍스트에서 설명합니다. (제공된 코드는 그 방향의 한 단계 일 뿐이며 반복은 다음에 추가 될 것입니다.) –

+0

@middaparka 나중에 알게 될 것입니다. OP는 고전적인 "화재와 잊음"질문을했습니다 ... – trojanfoe

관련 문제