我在开发我的应用程序时遇到了一个有趣的问题。想象一下那里的风景
- 存在一个对象,我们称它为 A。
- A,然后创建某个基于委托的类的对象(B),例如 NSURLConnection。
- A 将自己分配为 B 的委托,前提是 A 已实现所有必需的委托方法。
- A 要求 B 开始处理。在我们的示例中,即从某个服务器获取数据。
- 一旦 B 完成获取数据,它将调用 A 的某个指定方法。
在最后一步中,假设在调用 A 的方法时,B 发现 A 对象不再存在。然后会发生什么???
我不确定,但它会导致崩溃吗?
如果是,那么请建议我如何避免这种情况。
在我的情况下,我将视图控制器分配为某个对象的委托,例如viewDidLoad
方法中的 X。在某些情况下,视图控制器在 X 调用视图控制器中定义的委托方法之前被销毁。
- 如果将 X 的委托分配给 nil 可以解决问题。那我应该在哪里做。
简而言之,在视图控制器的卸载阶段,同样
viewDidLoad
在其加载阶段,哪个方法只被调用一次。