无法比较我的UIPickerView中的值

时间:2013-04-15 01:38:39

标签: iphone ios objective-c xcode

我正在尝试根据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";
}

但是我继续收到NSMutableArray的无可见@interface错误,声明了选择器objectAtIndex:isequal

我该如何比较两个值的返回值?与IF comp(0) == 3 and comp(1) ==2类似,输出3.4到我的标签。

1 个答案:

答案 0 :(得分:4)

那是因为NSMutableArray没有" objectAtIndex:isEqual"选择器。

您需要从选择器视图中获取NSString,然后将其与您存储在NSMutableArray对象中的字符串(可能是名为" list"的ivars进行比较。 " 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?