我是 iOS 开发的新手。我才知道他们是 Foundation 中保留的两个代表。我的理解是代表必须始终松散耦合。那为什么特意保留这两个呢?
谢谢
最佳答案
通常,一个对象的整个生命周期都需要一个委托(delegate),这就是为什么它通常是一个弱/非保留引用。否则,对象和委托(delegate)都不能被释放,因为它们都将等待对方离开。
然而,在 NSURLConnection
和 CAAnimation
的情况下,实际上只有具有某种“完成”状态的特定任务才需要委托(delegate)。当连接完成加载/取消或动画结束时,他们可以自己释放委托(delegate),从而打破保留周期。
关于iphone - 为什么保留 NSURLConnection 和 CAAnimation 委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10664478/