在viewWillDisappear中将委托设置为nil?

时间:2016-06-01 14:22:36

标签: ios uiviewcontroller delegates

当视图控制器调用viewWillDisappear时,我应该将委托设置为nil吗?当然,在调用viewWillAppear时再次设置委托。

当viewcontroller未处于活动状态但委托仍设置为向viewcontroller发送消息时,委托及其调用会发生什么?

1 个答案:

答案 0 :(得分:2)

真的取决于您的使用案例。如果您希望视图控制器忽略委托回调而不在屏幕上,那么请确保您可以在viewWillDisappear中取消委托。但是,我发现在某些情况下这是危险的。考虑一下,UITableView dataSource。如果你在viewWillDisappear中找不到dataSource,那么由于某些原因你尝试reloadData而视图不在视图范围内,表格视图将无法正确重新加载。

我通常只想在dealloc中取笑。