wxxsw / SwiftTheme

🎨 Powerful theme/skin manager for iOS 9+ 主题/换肤, 暗色模式

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

想请教一下大佬这个框架是不是会缓存需要换肤的View,如果是的话,当这个View被销毁时,如何去自动释放框架中缓存的View呢,如何能避免造成存泄露?

fmway123 opened this issue · comments

不会强持有的,不影响它本来的生命周期

请问如果使用字典或数组缓存的话,其中的元素也可以设置成弱引用吗

不可以,你只要确保集合实例在合适的时机释放就行,不用期望于每个元素为weak

好的,多谢

@Joecao123 我之前的回答不准确,有办法实现,就是有点麻烦。主要有两种方案,一种是自己做一个wrapper,另一种是借助NSPointerArray。我猜这不是你想要的。
参考:
https://marcosantadev.com/swift-arrays-holding-elements-weak-references/
https://stackoverflow.com/a/52337315