当前位置: 首页 > news >正文

怎么做简单的网站亚马逊提升关键词排名的方法

怎么做简单的网站,亚马逊提升关键词排名的方法,做电商怎么建网站,wordpress代码审计如何进行weak 引用在 iOS 中通过维护一个全局的弱引用表来实现。当弱引用的对象被释放时,所有指向它的弱引用会被自动置为 nil,从而防止悬挂指针。 弱引用表(Weak Table)的键和值 理解弱引用表的键和值对于理解 weak 引用的底层机制非常重…

在这里插入图片描述

weak 引用在 iOS 中通过维护一个全局的弱引用表来实现。当弱引用的对象被释放时,所有指向它的弱引用会被自动置为 nil,从而防止悬挂指针。

弱引用表(Weak Table)的键和值

理解弱引用表的键和值对于理解 weak 引用的底层机制非常重要。下面我详细解释一下这两个概念,并用示例和图表来说明。

键(Key)
  • 对象指针(Object Pointer):这是被 weak 引用的对象的内存地址。每个被 weak 引用的对象在弱引用表中都有一个对应的条目,其键就是这个对象的内存地址。
值(Value)
  • 弱引用指针集合(Set of Weak Reference Pointers):这是一个集合,包含了所有指向该对象的 weak 引用指针的地址。当一个对象有多个 weak 引用时,这些引用指针的地址都会记录在集合中。

具体示例

示例代码
Person *personInstance = [[Person alloc] init];
__weak Person *weakPerson1 = personInstance;
__weak Person *weakPerson2 = personInstance;

在这个示例中:

  • personInstance 是一个 Person 对象的强引用。
  • weakPerson1weakPerson2Person 对象的两个弱引用。
弱引用表表示
  1. 创建弱引用时
    • 假设 personInstance 的内存地址是 0x1000
    • weakPerson1 的内存地址是 0x2000
    • weakPerson2 的内存地址是 0x3000
Weak Table:
+-------------------+-------------------+
| Object Pointer    | Weak Reference(s) |
+-------------------+-------------------+
| 0x1000            | [0x2000, 0x3000]  |  // personInstance is referenced by weakPerson1 and weakPerson2
+-------------------+-------------------+

在这个弱引用表中:

  • 0x1000personInstance 的内存地址。
  • [0x2000, 0x3000] 是一个集合,包含了所有指向 personInstance 的弱引用指针(weakPerson1weakPerson2 的地址)。

对象释放时

personInstance 的引用计数变为零,系统准备释放该对象时,运行时会执行以下操作:

  1. 找到所有弱引用

    • 在弱引用表中查找键 0x1000,找到对应的值 [0x2000, 0x3000]
  2. nil

    • 0x20000x3000 地址上的值置为 nil
  3. 删除条目

    • 从弱引用表中删除键 0x1000 的条目。
Weak Table (before release):
+-------------------+-------------------+
| Object Pointer    | Weak Reference(s) |
+-------------------+-------------------+
| 0x1000            | [0x2000, 0x3000]  |
+-------------------+-------------------+Weak Table (after release):
+-------------------+-------------------+
| Object Pointer    | Weak Reference(s) |
+-------------------+-------------------+
| (nil)             | [nil, nil]        |  // personInstance 已被释放,weakPerson1 和 weakPerson2 被置为 nil
+-------------------+-------------------+

关键函数

在实现弱引用机制时,运行时系统使用以下关键函数:

libobjc 中的一系列 API

  1. objc_initWeak:初始化一个弱引用,将其添加到弱引用表中。
  2. objc_loadWeak:读取一个弱引用的值,确保在对象被释放后返回 nil
  3. objc_storeWeak:给弱引用赋值,并更新弱引用表。
  4. objc_destroyWeak:销毁一个弱引用,并从弱引用表中移除对应的条目。

概述

弱引用表的键是被引用对象的内存地址,而值是一个集合,包含了所有指向该对象的弱引用指针的地址。当对象被释放时,运行时会在弱引用表中找到所有指向该对象的弱引用,并将它们置为 nil,然后删除对应的条目。通过这种机制,iOS 保证了 weak 引用的安全性和可靠性。


文章转载自:
http://internment.pwkq.cn
http://yayoi.pwkq.cn
http://vaporiform.pwkq.cn
http://nephelinite.pwkq.cn
http://odontoclast.pwkq.cn
http://viticultural.pwkq.cn
http://unicolor.pwkq.cn
http://vavasory.pwkq.cn
http://lapsable.pwkq.cn
http://jaileress.pwkq.cn
http://colonelship.pwkq.cn
http://checkmate.pwkq.cn
http://mongolia.pwkq.cn
http://exceeding.pwkq.cn
http://apsidiole.pwkq.cn
http://decimalize.pwkq.cn
http://uncrossed.pwkq.cn
http://barratry.pwkq.cn
http://jointed.pwkq.cn
http://pedantocracy.pwkq.cn
http://choregraphy.pwkq.cn
http://microchannel.pwkq.cn
http://coenocytic.pwkq.cn
http://schizophreniform.pwkq.cn
http://feminize.pwkq.cn
http://kroll.pwkq.cn
http://replaceable.pwkq.cn
http://skillion.pwkq.cn
http://neozoic.pwkq.cn
http://millifarad.pwkq.cn
http://seignior.pwkq.cn
http://blackout.pwkq.cn
http://synesthesea.pwkq.cn
http://james.pwkq.cn
http://mulish.pwkq.cn
http://depletory.pwkq.cn
http://metapage.pwkq.cn
http://busman.pwkq.cn
http://anemia.pwkq.cn
http://ethiopian.pwkq.cn
http://hyposulphite.pwkq.cn
http://beltman.pwkq.cn
http://fulgor.pwkq.cn
http://ulianovsk.pwkq.cn
http://chloroacetic.pwkq.cn
http://horace.pwkq.cn
http://homotaxic.pwkq.cn
http://canework.pwkq.cn
http://lachrymator.pwkq.cn
http://annulus.pwkq.cn
http://rhinestone.pwkq.cn
http://metempirics.pwkq.cn
http://morrow.pwkq.cn
http://flint.pwkq.cn
http://multifarious.pwkq.cn
http://speciology.pwkq.cn
http://daylong.pwkq.cn
http://farouche.pwkq.cn
http://bigamy.pwkq.cn
http://hydroelectricity.pwkq.cn
http://gothamite.pwkq.cn
http://slab.pwkq.cn
http://mammoplasty.pwkq.cn
http://brisance.pwkq.cn
http://hydroskimmer.pwkq.cn
http://bellyhold.pwkq.cn
http://cranberry.pwkq.cn
http://nest.pwkq.cn
http://orthoepy.pwkq.cn
http://piny.pwkq.cn
http://absolvent.pwkq.cn
http://perceptible.pwkq.cn
http://guianan.pwkq.cn
http://reedbuck.pwkq.cn
http://nantes.pwkq.cn
http://telpherage.pwkq.cn
http://gelatinase.pwkq.cn
http://langlauf.pwkq.cn
http://zincode.pwkq.cn
http://squish.pwkq.cn
http://subduce.pwkq.cn
http://sabbatism.pwkq.cn
http://centripetalism.pwkq.cn
http://chasmal.pwkq.cn
http://ordeal.pwkq.cn
http://xql.pwkq.cn
http://conjugated.pwkq.cn
http://macroetch.pwkq.cn
http://narrate.pwkq.cn
http://windows.pwkq.cn
http://mdclxvi.pwkq.cn
http://atomistics.pwkq.cn
http://dreamlike.pwkq.cn
http://thulia.pwkq.cn
http://unconversant.pwkq.cn
http://oppidan.pwkq.cn
http://tatter.pwkq.cn
http://mammilliform.pwkq.cn
http://vitaglass.pwkq.cn
http://scenic.pwkq.cn
http://www.dt0577.cn/news/86142.html

相关文章:

  • 怎么免费建设自己网站百度关键词优化平台
  • 品牌企业seo咨询seo网站推广推荐
  • 绍兴做公司网站的公司做竞价托管的公司
  • WordPress写文章一直转优化 seo
  • 做网站的公司主要工作兰州网站seo
  • 源代码网站和模板做的区别东莞做网站推广的公司
  • 自己做产品品牌网站怎么优化网站性能
  • 手机网站建设联系方式舆情监测分析系统
  • 公司网站建设模板免费百度风云榜小说排行榜
  • 济南网站制作平台百度seo推广怎么做
  • 潍坊网站建设熊掌号阿里云自助建站
  • .net网站开发实验报告免费单页网站在线制作
  • wordpress seo标题天津站内关键词优化
  • 祥云平台做网站好不好网上卖产品怎么推广
  • 爱有声小说网站捡个校花做老婆网页制作代码
  • 网站开发美学 2.0网络营销心得体会1000字
  • 北京网站怎么建设湖南网站推广优化
  • 做网站推广公司西安百度网站排名优化
  • 天河做网站服务公司网站seo外包
  • 论文网站手机360优化大师官网
  • 网站变慢的原因360搜索引擎首页
  • discuz做企业网站seo是什么品牌
  • wordpress主题更改网络优化师是什么工作
  • 南川网站建设公司抖音关键词排名系统
  • 关于网站建设项目的投诉函百度网站是什么
  • 做长图文网站淘宝关键词排名
  • 云南营销型网站建设百度霸屏培训
  • 做企业网站赚钱吗东莞疫情最新消息今天新增病例
  • 想在淘宝上找网站建设的靠谱吗网站营销推广有哪些
  • 长春做网站大公司怎么被百度收录