AppDelegate里设置协议传值到viewController里,协议不走

clipboard.png

clipboard.png

如图,在AppDelegate里通过协议传值,可是协议的方法不走:

clipboard.png
在ViewDidLoad里

clipboard.png

该方法不走

想请问是哪里有问题,导致协议不走?

阅读 4.1k
2 个回答

没太懂你的意思。如果你是想从入口 AppDelegate 传值给控制器的话。首先,在设置代理的时候不应该使用初始化方法 :

[ [AppDelegate alloc] init]

应该使用:

[UIApplication sharedApplication].delegate

另外,明显这里可以有更好的实现方式:例如说通知机制。甚至如果控制器是根控制器的话,完全可以使用回调进行穿值。个人不建议在代理里面再套一层代理机制。对于想推送问题,理论上通知机制更为有效。

使用Appdelegate是单例成为代理对象, AppDelegate *appDeleagteVC = [[AppDelegate alloc] init];改成

[(AppDelegate *)[UIApplication sharedApplication].delegate delegate] = self;

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题