我有一个UITableViewController
会递归调用自己 n 次:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0) {
// call different controller
}
else if (indexPath.section == 1) {
GroupTableViewController *tableView = [[GroupTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
tableView.delegate = self;
[self.navigationController pushViewController:tableView animated:TRUE];
}
}
我需要将新GroupTableViewController
的委托设置为当前的GroupTableViewController
。
如果我尝试在代码中设置委托,我会收到警告:
Assigning to `id<GroupTableViewDelegate>' from incompatiable type `GroupTableViewController *const_strong`
所以我的第一个想法是包含GroupTableViewDelegate
协议:
@interface GroupTableViewController : UITableViewController <RegionTableViewDelegate, GroupTableViewDelegate>
但这会导致警告:
Cannot find protocal definition for `GroupTableViewDelegate`
但如果我尝试
#import "GroupTableViewController.h"
那会引起问题。
我怎样才能做到这一点?