为什么我的自定义委托方法不被调用?

我有一个带有4个按钮(HomePage)的viewController,然后是一个带有3个viewControllers的TabBarController。 我想用TabBarController的viewControllers作为通过tabBar图标回到“HomePage”的一种方式。 我已将我创建的一个名为“HomeViewController”的自定义类关联到该viewController。 见下图

在这里输入图像描述

HomeViewController .H文件。 我用一个方法“returnToHomepage”创建了一个协议

在这里输入图像描述

HomeViewController .M文件只要加载视图,它就会调用委托。 在这里输入图像描述

在我的HomepageViewController .H文件中,我确定该文件符合协议。 在这里输入图像描述

HomepageViewController .M文件

我实例化一个HomeViewController的实例并将delegate设置为self,但returnToHomePage方法永远不会被调用! 不知道我错过了什么... 在这里输入图像描述


我认为你在代理设置之前调用委托方法。

当你在控制器上调用alloc-init时,它初始化并调用ViewDidLoad,...然后你设置委托...所以这个

[self.delegate returnToHomepage];

之前被调用

homeVC.delegate = self;

您在viewDidLoad中创建的HomeViewController与屏幕上实际显示的不一样。 您需要使用UITabBarController的viewControllers方法访问它,并将其设置为委托。

链接地址: http://www.djcxy.com/p/34833.html

上一篇: Why is my custom delegate method not being called?

下一篇: Using AVURLAsset on a custom NSURLProtocol