问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

ios中什么是弱变量跟强变量

提问网友 发布时间:2022-04-22 03:39
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
热心网友 回答时间:2023-10-02 05:38
弱变量:在一些情况下,2个对象都持有彼此的强引用时,会产生循环保持(retain cycle),这样2个对象都不可以被销毁,即使其中一个已经不再被使用了。解决这个问题可以通过在2个对象间建立弱引用的方法解决。我们可以在父对象到子对象间使用强引用,而子对象到父对象间使用弱引用,这样就没有循环保持,弱变量也不能阻止引用的对象被销毁,在这里即是子对象无法阻止父对象被销毁。此时子对象会被系统自动设置为nil,这也避免了无意给它发送消息引起崩溃的问题。因为给nil对象发送消息不会有反应哦。
可以使用__weak关键字声明一个弱变量:

强变量:通常在ARC中所有指针变量都是强变量。将对象引用obj_new赋值给obj_old会使obj_new对象自动保持,同时旧对象obj_old会在被赋值千被释放。强变量默认会被初始化为0,无论他是实例变量、局部变量还是全局变量这都成立
热心网友 回答时间:2023-10-02 05:39
弱变量:在一些情况下,2个对象都持有彼此的强引用时,会产生循环保持(retain cycle),这样2个对象都不可以被销毁,即使其中一个已经不再被使用了。解决这个问题可以通过在2个对象间建立弱引用的方法解决。我们可以在父对象到子对象间使用强引用,而子对象到父对象间使用弱引用,这样就没有循环保持,弱变量也不能阻止引用的对象被销毁,在这里即是子对象无法阻止父对象被销毁。此时子对象会被系统自动设置为nil,这也避免了无意给它发送消息引起崩溃的问题。因为给nil对象发送消息不会有反应哦。
可以使用__weak关键字声明一个弱变量:

强变量:通常在ARC中所有指针变量都是强变量。将对象引用obj_new赋值给obj_old会使obj_new对象自动保持,同时旧对象obj_old会在被赋值千被释放。强变量默认会被初始化为0,无论他是实例变量、局部变量还是全局变量这都成立
http://blog.csdn.net/mghhz816210/article/details/41013455

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

如何在 iOS 中实现一个可展开的 Table View ios中BOOL和bool的区别 IOS用户是什么意思 ipad上即ios版remotr怎么下载? ios中notification和kvo的区别 ios系统有什么特点 ios系统的特性 如何从cisco中复制IOS到PC机中,即备份IOS ios中有适用于日文的类似有道E读这样的app吗,即可... iPhone即iOS版的最终幻想4的问题。。 如何在IOS中实现即时的Markdown编辑 iOS中构造方法和实例方法的区别 新浪微博什么是粉丝分析? 怎样识别粉条的好与坏 小红书和哔哩哔哩粉丝质量哪个高 你认为粉丝质量和粉丝数量哪个更重要? 明星的粉丝质量和明星本人有多大的关系? 微信如何增加粉丝数量及质量 如何挑选粉丝,那种粉丝好 鉴别粉丝的质量应注意什么? ios==和equals的区别 3+2大专和全日制大专的区别 3+2属于全日制普通专科吗 32度多肉法师可以全日晒太阳吗? 嗨氏王者荣耀帮观众上分怎么抽的?我想让海氏帮我打。 3十2大专毕业证是全日制的吗 ios手q可以让嗨氏抽代打嘛quq怎么参与嗨嗨观战福利... 我现在三十二岁了,211学校的全日制硕士研究生,而... 虎牙嗨氏怎么抽幸运观众 你好,我是护理学专业全日制大专,年龄32周岁,不... 《嗨氏王者荣耀》帮观众上分怎么抽的? 我现在三十二岁了,男的,211学校的全日制硕士研究... 怎么参加嗨氏的观众福利啊,看着那些被嗨哥抽中的... 全日餐厅是什么意思? 嗨氏最近做了些什么事?能仔细说一下吗?为什么现... 几个字谜 大家帮忙猜猜 王者荣耀想要冰冠公主,大概需要抽多少次? 全日制MBA与非全日MBA优劣区别对比 嗨氏为什么人气大跌? 做梦梦到自己右手食指骨头断了,只有皮肉相连
Top