Ios 在哪里删除应用程序生命周期中的代理?
我有一个类的实例,它的委托只能调用一次 视图控制器(视图A)将调用Ios 在哪里删除应用程序生命周期中的代理?,ios,objective-c,iphone,uiviewcontroller,delegates,Ios,Objective C,Iphone,Uiviewcontroller,Delegates,我有一个类的实例,它的委托只能调用一次 视图控制器(视图A)将调用self.delegate=self,并具有转到其他视图控制器(VC)的按钮 在一个VC中,我需要调用这个实例并再次设置委托 最初,我在viewwillbeen中设置委托,但这不起作用,因为我正在viewDidLoad中加载委托数据,并且由于viewDidLoad将首先运行,我可以在viewDidLoad或loadView中设置委托 虽然删除委托可以在dealoc中,或者视图将消失,但如果我演示的是VC,则不会调用视图a的deal
self.delegate=self
,并具有转到其他视图控制器(VC)的按钮
在一个VC中,我需要调用这个实例并再次设置委托
最初,我在viewwillbeen
中设置委托,但这不起作用,因为我正在viewDidLoad
中加载委托数据,并且由于viewDidLoad
将首先运行,我可以在viewDidLoad
或loadView
中设置委托
虽然删除委托可以在dealoc
中,或者视图将消失
,但如果我演示的是VC,则不会调用视图a的dealoc
,不是吗?因为视图尚未删除
所以我的问题是,在视图A中,我在哪里设置self.delegate=nil
如果我使用当前VC方法,我应该在视图A中的何处设置和删除委托?
在VC中,我可以通过viewDidLoad
和dealloc
设置和删除
就应用程序生命周期的最佳实践提出这一问题
我已经看过了我应该在询问之前自己测试一下 无论如何,对于其他可能也有兴趣知道的人来说 当转到其他viewController(视图B)时,视图A将解除锁定。因此,可以安全地删除视图A的dealloc处的委托,并将该委托设置为视图B 如果通过单击视图a中的a来显示视图B,则不会调用dealloc。因此,在这种情况下,最好分别使用ViewWillDisplay和ViewWillEnglish来设置和删除委托
干杯。我应该在问之前自己测试一下 无论如何,对于其他可能也有兴趣知道的人来说 当转到其他viewController(视图B)时,视图A将解除锁定。因此,可以安全地删除视图A的dealloc处的委托,并将该委托设置为视图B 如果通过单击视图a中的a来显示视图B,则不会调用dealloc。因此,在这种情况下,最好分别使用ViewWillDisplay和ViewWillEnglish来设置和删除委托
干杯。您必须在ViewDidDisplay中将“委派给自己”设置为“出现”,并在ViewDidDemouse中将“委派”设置为“零”您必须在ViewDidDemouse中将“委派给自己”设置为“出现”,并在ViewDidDemouse中将“委派”设置为“零”