Intereting Posts
GLKQuaternionMakeWithAngleAndVector3Axis неправильно обрабатывает положительный угол по часовой стрелке UITapGestureRecognizer проглатывает все жесты Не удается получить результат от NSURL iOS настраивает полосу прокрутки в UITableView Как сделать снимок или сделать видео на экране вашего устройства, когда ваше приложение находится в фоновом режиме программно? Как построить Xamarin против старой версии IOS SDK Тип потока UIImagePickerController, используемый для добавления .MOV? Использование пользовательского подкласса NSView / UIView из XIB? Автоматическая игра в iPad-приложениях с использованием HTML 5 Центр текста кнопки входа в систему Google (iOS) Как сохранить emoji в базе данных? Почему переменная типа id <someProtocol> не может принимать параметр id <otherProtocol>, даже если «otherProtocol» соответствует «someProtocol»? Как дождаться завершения webViewDidFinishLoad Как рассчитываются координаты в Swift ios – пользовательский композитор AVFoundation, не работающий в ios 8.3

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; }