2 UITableViews в 1 ViewController. Установите Delegate & DataSource в другой файл UITableViewController

Таким образом, у меня есть два UITableViews в моем ViewController, как мне установить делегат и источник данных второго на другой файл UITableViewController.

Для второго я сейчас создаю его так

//now add our second tableview UITableView *addPapersTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 415)]; addPapersTableView.dataSource = self; addPapersTableView.delegate = self; [addPapersView addSubview:addPapersTableView]; 

И из-за self бита, его очевидные данные вытягивания и делегируются из того же файла. Я делаю что-то вроде #import "AddMoreTableViewController.h" а потом что-то?

Действительно новый для Objective C,

высоко оценил,

Dex

Добавьте свой импорт, как вы сказали:

 #import "AddMoreTableViewController.h" 

Не забудьте создать его экземпляр, а затем установите его как делегат / источник данных из вашей другой таблицы. Вот приблизительный пример (я оставлю управление памятью и семантику до вас):

 AddMoreTableViewController *controller = [AddMoreTableViewController alloc] init]; myOtherTableView.datasource = controller; myOtherTableView.delegate = controller; 

Вы должны убедиться, что вы реализуете протоколы UITableViewDataSource и UITableViewDelegate в AddmoreTableViewController .

Вы усложняете свою жизнь.

 firstTableView.dataSource = self; firstTableView.delegate = self; secondTableView.dataSource = self; secondTableView.delegate = self; 

все методы протоколов UITableViewDelegate и UITableViewDataSource имеют параметр UITableView *, поэтому вы можете обрабатывать обе таблицы. В примере:

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { if (tableView == firstTableView) { return 1; } else { return 4; } } 

Или вы можете написать tag для этого второго UITableView & в делегатах обрабатывать разные таблицы по-разному на основе их tag .

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { if(tableView.tag == 1) //handle table 1 here. else if(tableView.tag == 2) //handle table 2 here. return; } 
  • Как зарегистрировать UIView для повторного использования для заголовка заголовка UITable без использования nib
  • как вернуть один из двух типов пользовательских ячеек табличного представления в cellForRowAtIndexPath в Swift 1.2
  • VoiceOver и асинхронный UITableView
  • удаление объекта после редактирования свойства в области вызывает причину RLMException: «Индекс 0 выходит за пределы (должен быть меньше 0)»
  • Фоновая цветная анимация UITableViewCell
  • Изменен TableViewCell с XMSegmentedControl
  • UINavigationBar перекрывает UITableView при запрограммировании командной строки
  • iOS7 прокручивается до строки UITableViewController при редактировании UITextField в UITableViewCell с правильным смещением
  • Как получить минимальный размер содержимого iOS для таблицы с использованием автоматического макета
  • как изменить высоту между UITableView и панель навигации
  • Действие при прокрутке вверх от UITableview
  • Давайте будем гением компьютера.