小编Jac*_*kyW的帖子

在应用程序生命周期中哪里删除委托?

我有一个类的实例,它的委托只能调用一次。

视图控制器(视图 A)将调用self.delegate = self,并且有按钮可以转到其他视图控制器(VC)。

在其中一个 VC 中,我需要调用此实例并再次设置委托。

最初我将委托设置为 in viewWillAppear,但这不起作用,因为我正在加载委托数据viewDidLoad,并且由于viewDidLoad将首先运行,所以我可以将委托设置为viewDidLoadloadView

虽然删除委托可以在dealloc、 或中viewWillDisappear,但如果我呈现一个 VC,dealloc则视图 A 不会被调用,不是吗?由于视图尚未删除。

所以我的问题是,我在视图 A 中的哪里设置self.delegate = nil

如果我使用当前的 VC 方法,我应该在视图 A 中的哪里设置和删除委托?在介绍的 VC 中,我可以设置和删除 viaviewDidLoaddealloc

就应用程序生命周期的最佳实践提出这个问题。

我查看了iOS uiviewcontroller 生命周期

iphone delegates objective-c uiviewcontroller ios

2
推荐指数
1
解决办法
3383
查看次数

标签 统计

delegates ×1

ios ×1

iphone ×1

objective-c ×1

uiviewcontroller ×1