为什么保留NSURLConnection和CAAnimation委托?

时间:2012-05-19 10:45:34

标签: iphone ios ipad

我是ios开发的新手。我刚才知道他们是基金会中的两名代表,他们被保留了下来。我的理解是,代表必须总是松散耦合。那么为什么要特别保留这两个呢?

由于

1 个答案:

答案 0 :(得分:10)

通常,对象的整个生命周期都需要委托,这就是通常弱/非保留引用的原因。否则,对象和委托都不能被释放,因为它们都会等待对方离开。

但是,在NSURLConnectionCAAnimation的情况下,委托实际上只需要具有某种“完成”状态的特定任务。当连接完成加载/取消或动画到达结束时,他们可以自己释放代理,从而打破保留周期。