IOS中,CAAnimation 这个类的 @property(nullable, strong) id delegate; 这个delegate用 strong的原因是?
认证0级讲师
強力なデリゲートが循環参照を引き起こすことを心配していますか?ここでの状況は一般的なデリゲートとは異なります。まず、アニメーションは非同期です。たとえば、ユーザーが「戻る」をクリックした場合、そのデリゲートはいつでも解放されます。一方、一般に、CAAnimation への強い参照は保持しません (UITableView とは異なります)。ドキュメントには、これはメモリ管理ルールの例外であるとも記載されています。
強力なデリゲートが循環参照を引き起こすことを心配していますか?ここでの状況は一般的なデリゲートとは異なります。まず、アニメーションは非同期です。たとえば、ユーザーが「戻る」をクリックした場合、そのデリゲートはいつでも解放されます。一方、一般に、CAAnimation への強い参照は保持しません (UITableView とは異なります)。ドキュメントには、これはメモリ管理ルールの例外であるとも記載されています。