2013-04-15 3 views
0

Я пытаюсь вывести определенное число, основанное на первом и втором выборе в моем UIPickerView. У меня есть этот код здесь.Не удается сравнить значения из моего UIPickerView

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    if([[list objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"1 Gallon"] && [list2 objectAtIndex:[pickerView selectedRowInComponent:1] isEqual: @"Grams"]) 
     output.text = @"1 GALLON GRAMS"; 
    if([[list objectAtIndex:[pickerView selectedRowInComponent:0]] isEqual: @"2 Gallons"] && [list2 objectAtIndex:[pickerView selectedRowInComponent:1] isEqual: @"Ounces"]) 
     output.text = @"2 GALLONS OUNCES"; 
} 

Но я получаю ошибку Нет видимых @interface для NSMutableArray объявляет Селектор objectAtIndex:isequal

Как я должен сравнить то, что оба значения возвращаются? Например, IF comp(0) == 3 and comp(1) ==2, выход 3.4 на мой ярлык.

ответ

4

Это потому, что NSMutableArray не имеет селектора «objectAtIndex: isEqual».

Вам необходимо получить NSString со своего выбора, а затем сравнить его со строкой, которую вы сохранили в объекте NSMutableArray (предположительно, иваров с именем «list» и «list2»).

E.G.

NSString * stringPointedToFromPicker = (NSString *)[list objectAtIndex: [pickerView selectedRowInComponent: 0]]; 
if([stringPointedToFromPicker isEqual: @"1 Gallon"]) // okay for now, but do you want 
    output.text = @"1 GALLON GRAMS";  // hard coded, non-localized strings like this? 
+0

Отлично! Благодаря! – Intelwalk

Смежные вопросы