swift iOS 不执行deinit的原因:
1、使用了UITabView,没做优化(其中一个优化方案是,在UIView中自定义一个,然后让UIViewController调用)
2、代理使用了强引用,delege = self
改成:
weak var weakSelf = self
delete = weakSelf!
3、方法体传参中使用了强引用

原来的代码

修改后的代码
—————我是优雅的广告,请多多关注简书作者,鱼笨自由—————
本文探讨了在Swift iOS应用中,为何`deinit`可能不会被调用的三个主要原因:未优化的UITabView使用,强引用导致的代理问题,以及方法体内的强引用参数。为了解决这些问题,可以考虑自定义UIView并优化,使用weak关键字避免强引用循环,以及在传参时避免强引用。
swift iOS 不执行deinit的原因:
1、使用了UITabView,没做优化(其中一个优化方案是,在UIView中自定义一个,然后让UIViewController调用)
2、代理使用了强引用,delege = self
改成:
weak var weakSelf = self
delete = weakSelf!
3、方法体传参中使用了强引用


—————我是优雅的广告,请多多关注简书作者,鱼笨自由—————

被折叠的 条评论
为什么被折叠?