Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为什么没有调用我的自定义委托方法?_Objective C - Fatal编程技术网

Objective c 为什么没有调用我的自定义委托方法?

Objective c 为什么没有调用我的自定义委托方法?,objective-c,Objective C,我有一个带有4个按钮的viewController(主页),然后是一个带有3个viewController的TabBarController。 我想使用TabBarController的一个ViewController作为通过tabBar图标返回“主页”的方式。我已将我创建的名为“HomeViewController”的自定义类与该viewController关联。见下图 HomeViewController.H文件。 我用“returnToHomepage”方法创建了一个协议 HomeVi

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

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

HomeViewController.M文件 一旦加载视图,它就会调用委托。

在我的HomepageViewController.H文件中,我已确保该文件符合协议。

HomepageViewController.M文件

我实例化了HomeViewController的一个实例,并将委托设置为self,但 returnToHomePage方法永远不会被调用!不知道我错过了什么。。。

我认为您正在设置委托之前调用委托方法

当您在控制器上调用alloc init时,它将初始化并调用ViewDidLoad,。。。然后设置代理。。。那么这个

[self.delegate returnToHomepage];
以前打过电话吗

homeVC.delegate = self;

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

我知道它在viewDidLoad方法中(请参见图片“@user3071579您是对的,这很尴尬,很抱歉,但我编辑了答案。