У меня есть два класса в моем проекте:
#import <UIKit/UIKit.h>
#import "TableViewController.h"
@interface MainViewController : UIViewController
@end
и
#import <UIKit/UIKit.h>
@interface TableViewController : UITableViewController
@end
В MainViewController.m я пытаюсь сделать это:
TableViewController *tview = [[TableViewController alloc] initWithNibName:@"TableViewController"
bundle:nil];
tview.tableView.dataSource = tview;
tview.tableView.delegate = tview;
[self.view addSubview: tview.view];
Тем не менее, это сбой с:
-[MainViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0xb52dc90'
Я не понимаю, почему MainViewController становится источником данных / делегатом для TableViewController, когда я уже установил делегат / источник данных в инициализации выше. Я также попытался установить для делегата / источника данных TableViewController значение self изнутри его viewDidLoad, но MainViewController по-прежнему продолжает действовать как делегат / источник данных, независимо от этого. Я пробовал с подключенными и не подключенными файлами пера, но без разницы.
В идеале я хочу, чтобы TableViewController выступал в качестве делегата и источника данных, а его представление добавлялось в MainViewController. Как я могу это сделать?
Спасибо!
Примечание. Ни одно из решений по какой-то причине не сработало. В конце концов, я воссоздал TableViewController как наследующий от UIViewController и установил его как, и тогда все пошло нормально.