扫码关注官方订阅号
IOS中,CAAnimation 这个类的 @property(nullable, strong) id delegate; 这个delegate用 strong的原因是?
认证0级讲师
你是担心 strong 的 delegate 引起循环引用吗?这里的情况跟一般的 delegate 不太一样,首先动画是异步的,在动画的过程中,它的 delegate 随时都有可能被释放掉,如果不是个强引用的话,比如用户点了返回之类的。另外一方面,一般来说你并不会持有一个 CAAnimation 的强引用(跟 UITableView 不一样)。文档里也说这是内存管理规则中的一个例外。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你是担心 strong 的 delegate 引起循环引用吗?这里的情况跟一般的 delegate 不太一样,首先动画是异步的,在动画的过程中,它的 delegate 随时都有可能被释放掉,如果不是个强引用的话,比如用户点了返回之类的。另外一方面,一般来说你并不会持有一个 CAAnimation 的强引用(跟 UITableView 不一样)。文档里也说这是内存管理规则中的一个例外。