Intereting Posts
Веб-страница WKWebView не отображает страницу внутри dispatch_get_main_queue Расширение iOS 10 Today больше не может читать умолчания по умолчанию для общего пользователя Как использовать мобильную службу уведомлений IBM Bluemix BMS в проекте ionic.io? Как преобразовать Any в словарь в Swift3 Предупреждение Xcode Analyzer – значение словаря не может быть nil Социальная структура не найдена в Xcode URLSessionDownloadTask в фоновом режиме никогда не запускает дескриптор (_ backgroundTasks: Set <WKRefreshBackgroundTask>) для WKURLSession. Есть ли способ, чтобы NSFetchedResultsController обнаруживал изменения более чем в одном объекте? Отправка NSNumber другому методу класса – Objective C Подтвердите доступ к хранилищу приложений. Недействительные права на подписание кода. ICloud Показывать сообщение перед выходом из приложения iOS? как решить rootView в AppDelegate Проблема с парсером в Xcode 6.1 – «Ожидаемый тип» Представление модального контроллера просмотра из OpenURL Продвижение массивов в Apple быстро 2.1

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