我在处理我的应用程序时遇到了一个有趣的问题。想象一个如果委托不存在,会发生什么情况?
- 存在着一个对象之情况,让我们把它叫做A.
- A,然后创建一些代表团基于类的一个对象(B),说NSURLConnection的。
- 如果A已经实现了所有必需的委托方法,A就被指定为B的委托。
- A要求B开始处理。在我们的例子中,即从某个服务器获取数据。
- 只要乙完成获取数据时,它将调用A.
的一些指定的方法在最后的步骤中,假设而调用的方法中,B发现目的犯规存在了。那么会发生什么?
我不确定,但会导致崩溃?
如果是,那么请告诉我如何避免这种情况。
在我的情况下,我将viewcontroller分配给某个对象的代理,比方说viewDidLoad
方法中的X.在X调用viewcontroller中定义的委托方法之前,有些情况下viewcontroller会被销毁。
- 如果将X的委托分配给nil解决了问题。然后 我应该这样做。
总之,该方法而在其装载阶段卸载视图控制器同样 viewDidLoad
的相位只调用一次。
请注意,NSURLConnection *会保留它的委托。 – Guillaume
@Guillaume是的,你是对的。关于保留代表的全部内容。如果我们将委托设置为零,那么更好。 – harshitgupta
和是否definitelty它会导致崩溃。 – harshitgupta