wxxsw / SwiftTheme

🎨 Powerful theme/skin manager for iOS 9+ 主题/换肤, 暗色模式
MIT License
2.52k stars 306 forks source link

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

Closed fmway123 closed 4 years ago

shannonchou commented 4 years ago

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

fmway123 commented 4 years ago

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

shannonchou commented 4 years ago

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

fmway123 commented 4 years ago

好的,多谢

shannonchou commented 4 years ago

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