美文网首页iOS精选
数组(字典)中添加弱引用

数组(字典)中添加弱引用

作者: 圆咚咚CodingLife | 来源:发表于2019-02-20 17:46 被阅读3次

阅读原文

也许你对NSArray使用了如指掌,每个加入到NSArry的对象都会被NSArray强持有。有时候,这种特性不是我们想要的结果。 有时候,我们想将对象存储起来,但是不想让数组增加了这个对象的引用计数,这个时候,WeakMutableArray才是你想要的。

示例.png

方法一:NSValue

iOS6.0之前,可以用[NSValue valueWithNonretainedObject:person]获取到对象的value,将这个value添加到数组中。效果如下:

NSValue.png

方法二:NSPointerArray

在iOS6.0之后出现了NSPointerArray。 他的初始化方法,可以创建强引用,弱引用对象的数组

NSPointerArray.png

同样,在iOS6.0之后 有NSHashTable类似于NSSet 有NSMapTable为NSDictionary 具体使用方法可以参考API

方法三:NSHashTable

NSHashTable.png

方法四:NSMapTable

NSMapTable.png

方法五:WeakMutableArray

WeakMutableArray.png

相关文章

  • 数组(字典)中添加弱引用

    阅读原文 也许你对NSArray使用了如指掌,每个加入到NSArry的对象都会被NSArray强持有。有时候,这种...

  • 数组(字典)中添加弱引用;NSPointerArray、NSHa

    我们知道,数组中添加一个对象,会使对象的引用计数加1,被数组所持有。如下是我们常用的使用,并打印对象引用计数。如果...

  • ios中的强引用,弱引用

    强引用一个弱引用的对象 依旧是强引用 例如,数组, 字典。 想要变成弱引用可以使用NSValue的2个方法val...

  • 数组或字典如何弱引用对象

    前言 将一个对象添加到一个array或dictornary里一件很常见的事,一般不会遇到问题。但是如果这个容器会一...

  • Note 3 Swift (1)

    Swift学习笔记 变量与常量 变量 常量 值类型与引用类型 值类型 引用类型 数组与字典 数组 字典

  • weak原理

    weak原理 弱引用指针添加到弱引用表。 NSObject.mm 弱引用的指针存储到弱引用表 通过哈希运算找到弱引...

  • 如何实现分类中添加弱引用属性

    需求: 实现分类中添加弱引用属性 众所周知runtime中关联属性的几种类型如下: 但如果想实现弱引用的关联对象就...

  • iOS中弱引用管理相关问题

    关于弱引用在工作和面试中都会经常遇到,那么这里我就两个问题说一下弱引用管理。 weak变量是怎样添加到弱引用表中的...

  • iOS 各种排序

    数组排序 数组中字典排序 数组中字典按照某个value排序 排序方法

  • 给分类中添加弱引用属性

    定义 一个block

网友评论

    本文标题:数组(字典)中添加弱引用

    本文链接:https://www.haomeiwen.com/subject/jzzhyqtx.html