2013-08-30 88 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

2個問題:你不能用==比較的.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想要將文本字段與數組中的* any *值匹配或僅匹配第一個對象... – trojanfoe

+0

我認爲您的「檢查數組中的所有對象」方法完全匹配該OP在文中描述。 (我猜所提供的代碼僅僅是朝着這個方向邁出的一步,接下來將會增加迭代。) –

+0

@middaparka我想我們會在後面找到;該OP已經問過一個經典的「火災和遺忘」的問題... – trojanfoe