我有一个带有4个按钮的viewController(HomePage),然后是一个带有3个viewControllers的TabBarController。 其中一个TabBarController的viewControllers我想用作通过tabBar图标返回“HomePage”的方法。我已将我创建的名为“HomeViewController”的自定义类关联到该viewController。见下图
HomeViewController .H文件。 我用方法“returnToHomepage”
创建了一个协议
HomeViewController .M文件 加载视图后,它会立即调用该委托。
在我的HomepageViewController .H文件中,我确保该文件符合协议。
HomepageViewController .M文件
我实例化HomeViewController的实例并将委托设置为self但是 returnToHomePage方法永远不会被调用!不确定我错过了什么......
答案 0 :(得分:1)
我认为你在设置委托之前调用了委托方法。
当你在控制器上调用alloc-init时,它会初始化并调用ViewDidLoad,然后你设置了委托......所以这个
[self.delegate returnToHomepage];
在之前调用
homeVC.delegate = self;
答案 1 :(得分:1)
您在viewDidLoad中创建的HomeViewController与实际显示在屏幕上的HomeViewController不同。您需要使用UITabBarController的viewControllers方法访问它并以这种方式设置它的委托。