如何使用UIPickerView使用更复杂的数据源

时间:2012-05-15 12:04:45

标签: iphone ios uipickerview

如何使用UIPickerView复杂的数据源?我有一个对象数组,并希望在UIPickerView中使用MyObject.Name作为元素的标题,但在选择它时将整个对象恢复。

它是一个NSMutableArray对象。

`

@interface Account : NSObject
{
    NSString *ID;
    NSString *Name;
    NSString *AccountTypeName;
    NSString *Type;
}

Array看起来像这样:

`2012-05-15 16:30:05.847 App[2320:f803] (
    "<Account: 0x6888d70>",
    "<Account: 0x6eb09a0>",
    "<Account: 0x6d7f170>",
    "<Account: 0x6d79ca0>"
)`

当我使用它时,我收到“无法识别的选择器发送到实例0x6888d70”错误

1 个答案:

答案 0 :(得分:2)

您需要将所有Object存储在一个数组中 并在函数中:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

您可以通过名称(通过示例使用NSPredicate)查找所选项目

或者:

[ARRAYNAME objectAtIndex:row]