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

做网站的多钱佛山网站关键词

做网站的多钱,佛山网站关键词,腾讯云轻量应用服务器,网上卖货哪个平台比较好weak 引用在 iOS 中通过维护一个全局的弱引用表来实现。当弱引用的对象被释放时#xff0c;所有指向它的弱引用会被自动置为 nil#xff0c;从而防止悬挂指针。 弱引用表#xff08;Weak Table#xff09;的键和值 理解弱引用表的键和值对于理解 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 对象的强引用。weakPerson1 和 weakPerson2 是 Person 对象的两个弱引用。 弱引用表表示 创建弱引用时 假设 personInstance 的内存地址是 0x1000。weakPerson1 的内存地址是 0x2000。weakPerson2 的内存地址是 0x3000。 Weak Table: -------------------------------------- | Object Pointer | Weak Reference(s) | -------------------------------------- | 0x1000 | [0x2000, 0x3000] | // personInstance is referenced by weakPerson1 and weakPerson2 --------------------------------------在这个弱引用表中 键 0x1000 是 personInstance 的内存地址。值 [0x2000, 0x3000] 是一个集合包含了所有指向 personInstance 的弱引用指针weakPerson1 和 weakPerson2 的地址。 对象释放时 当 personInstance 的引用计数变为零系统准备释放该对象时运行时会执行以下操作 找到所有弱引用 在弱引用表中查找键 0x1000找到对应的值 [0x2000, 0x3000]。 置 nil 将 0x2000 和 0x3000 地址上的值置为 nil。 删除条目 从弱引用表中删除键 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 objc_initWeak初始化一个弱引用将其添加到弱引用表中。objc_loadWeak读取一个弱引用的值确保在对象被释放后返回 nil。objc_storeWeak给弱引用赋值并更新弱引用表。objc_destroyWeak销毁一个弱引用并从弱引用表中移除对应的条目。 概述 弱引用表的键是被引用对象的内存地址而值是一个集合包含了所有指向该对象的弱引用指针的地址。当对象被释放时运行时会在弱引用表中找到所有指向该对象的弱引用并将它们置为 nil然后删除对应的条目。通过这种机制iOS 保证了 weak 引用的安全性和可靠性。
http://www.w-s-a.com/news/275937/

相关文章:

  • 萝岗网站建设为什么点不开网站
  • 惠州网站制作询问薇北京网站建设最便宜的公司
  • 注册网站英语怎么说wordpress 3.8.3
  • 甘肃张掖网站建设网站开发软件是什么专业
  • 海口省建设厅网站网站数据库怎么做同步
  • 做网站建设月收入多少app开发公司广州英诺
  • 新闻播报最新网站优化外包费用
  • wordpress分页出现404最专业的seo公司
  • 连云港网站建设电话连云港市建设局网站
  • 平面设计网站有哪些比较好drupal网站建设 北京
  • 健康资讯网站模板网页价格表
  • 2008发布asp网站宝安建网站的公司
  • 郑州市城市建设管理局网站制作公司网站 优帮云
  • 网站开发 瀑布结构普陀网站建设
  • 12380网站建设情况汇报plone vs wordpress
  • c 网站开发数据库连接与wordpress类似的都有哪些
  • 状元村建设官方网站长春做网站seo的
  • 做金融资讯网站需要哪些牌照海珠营销型网站制作
  • 学做网站需要买什么书手机网络
  • 寻找做电影网站团队合作西宁网站建设君博首选
  • 兴仁县城乡建设局网站爱站关键词查询
  • 漳州网站建设公司推荐wordpress更改主机
  • c2c商城网站建设方案英文网站注册
  • 电子商务网站的运营一般需要做哪些准备宣传片拍摄思路
  • 网站建设网页制作百度怎么做自己网站
  • 建设设计网站公司巴州建设局网站
  • 淘宝建设网站的好处韶关市网站建设招标
  • 佛山高端网站免费招聘网站建设
  • 申请网站就是做网站吗wordpress tag 优化
  • 建站系统排行榜菏泽机关建设网站