Несколько UIPickerViews и источников данных - PullRequest
0 голосов
/ 31 декабря 2011

У меня есть два UIPickerView, которые должны быть в разных источниках данных.Самый близкий ответ, который я смог найти, был такой: Несколько UIPickerViews

Но я не могу понять, как сделать следующее:

вы можете создать два класса - один данныеисточник для каждого представления средства выбора и назначьте их вручную экземплярам представления средства выбора в методе viewDidLoad

Кажется простым, но код действительно использует пример.

1 Ответ

0 голосов
/ 31 декабря 2011
  1. Вам необходимо создать два класса для ваших источников данных. Очевидно, что они должны быть получены из NSObject и реализовывать протокол UIPickerViewDataSource.

  2. Теперь вы должны привязать эти классы к вашему UIPickerView. Самое простое решение - добавить переменные экземпляра для каждого источника данных в UIViewController, инициализировать их и присвоить dataSource свойство UIPickerView.

    @interface MyViewController
    {
        ...
        MyDataSource1 *dataSource1;
        MyDataSource2 *dataSource2;
    }
    
    ...
    
    @implementation MyViewController
    - (id) initWith...
    {
        ...
        dataSource1 = [[MyDataSource1 alloc] initWithSmth:smth];
        dataSource2 = [[MyDataSource2 alloc] initWithSmthElse:smthElse];
        return self;
    }
    
    - (void) viewDidLoad
    {
        ...
    
        myPickerView1Outlet.dataSource = dataSource1;
        myPickerView2Outlet.dataSource = dataSource2;
    }
    
...