
Swift中var和weak var之间有什么区别?解决方法 这与 ARC管理对象内存的方式有关.
使用var定义对对象的强引用,而使用弱var定义对对象的弱引用.
只要存在对该对象的一个或多个强引用,对象就会保留在内存中.使用弱引用允许您保持对对象的引用,而不会增加所谓的“保留计数”.
如果没有别的东西对你的弱var有一个引用,那么对象将被释放,你的弱var将衰减为nil.1当你只使用var时这不会发生,因为这定义了对象的强引用,防止它解除分配.
这与Objective-C中“强”与“弱”的工作原理相同,我建议你阅读this answer,因为它完全适用于Swift.
1作为Swift特定注释,这就是声明为弱var的任何东西必须是可选类型的原因.
总结以上是内存溢出为你收集整理的Swift中var和弱var之间有什么区别全部内容,希望文章能够帮你解决Swift中var和弱var之间有什么区别所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)