CAAnimation 的 delegate 用 strong的原因是?

IOS中,CAAnimation 这个类的 @property(nullable, strong) id delegate; 这个delegate用 strong的原因是?

阅读 5.1k
1 个回答

你是担心 strong 的 delegate 引起循环引用吗?这里的情况跟一般的 delegate 不太一样,首先动画是异步的,在动画的过程中,它的 delegate 随时都有可能被释放掉,如果不是个强引用的话,比如用户点了返回之类的。另外一方面,一般来说你并不会持有一个 CAAnimation 的强引用(跟 UITableView 不一样)。文档里也说这是内存管理规则中的一个例外。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题