使用NSHashTable存储引用对象
2023-09-14 08:57:58 时间
NSHashTable
我们使用集合(NSArray,NSMutableArray,NSDictionary,NSMutableDictionary,NSSet,NSMutableSet)存储对象时会对其强引用(你可以使用单例的集合存储数据试一下咯),有时候我们不想这样子,怎么办呢?
那就使用NSHashTable这个集合吧,它的使用方法与NSSet完全相似,不同的是,它的一种初始化方式是weakObjectsHashTable,专门用来存储弱引用对象,不会持有它,那个对象的所有人消失了,这个对象也会从这个集合中消失,多么人性化!
下面介绍它的一些方法:
- (BOOL)containsObject:(id)anObject
Returns a Boolean value that indicates whether the hash table contains a given object.
返回一个bool值,用来指示这个hash表中是否包括了你给与的对象.
- (void)addObject:(id)object
Adds a given object to the hash table.
将一个对象添加进hash表中.
- (void)removeObject:(id)object
Removes a given object from the hash table.
从hash表中移除你给定的对象.
+ (id)weakObjectsHashTable
Returns a new hash table for storing weak references to its contents.
返回一个hash表用来存储弱引用对象.
<c++> &引用概念 | 引用用法 | 引用与指针区别 什么是引用?引用是已定义的变量的别名(另一个名称)。通俗来讲,就相当于起一个外号。引用语法是什么样的?语法:数据类型& 引用名 = 引用实体;举个例子:如果我们要将a作为bint a;&不是地址运算符,而是类型标识符。它是放在数据类型后面的。
玩转JVM中的对象及引用:从创建到引用到分配和优化策略 类加载检查 当Java虚拟机遇到一条new指令的时候,它会先去运行时常量池中寻找new的类的符号引用,并且检查这个符号引用所代表的类是否已经被加载、解析、初始化过。如果没有即需要进行相应的类加载过程。
方法引用的那些事儿 一句话介绍: **方法引用**(**_Method Reference_**)是在 Lambda 表达式的基础上引申出来的一个功能。 先不铺展概念,从一个示例开始说起。 # 一、小示例 ```java List list = Arrays.asList(1, 2, 3); list.forEach(num - System.out.println(num));
class Table{Name * p;size_t sz;publish:Table(size_t s = 15){p = new Name[sz=s];}~Table(){delete[]p ;}.
相关文章
- 华为云实战 之 对象存储的使用以及与腾讯云COS对比
- 从零开始入门 K8s | 应用存储和持久化数据卷:存储快照与拓扑调度
- 如何调试oracle,sqlserver存储过程
- hyper-v 用户无法再 创建外部配置存储 0x80070005
- Qt编写安防视频监控系统13-视频存储
- ASP.NET Core 6框架揭秘实例演示[20]:“数据保护”框架基于文件的密钥存储
- Atitit. 类与对象的存储实现
- Android 8.0 默认运行时给应用外部存储权限
- 【华为云技术分享】十分钟从入门到精通(上)—对象存储服务的OBS权限配置
- 华为云实战 之 对象存储的使用以及与腾讯云COS对比
- TreeSet排序,存储自己定义对象,自己定义比較器演示样例
- 35.第九章 Linux磁盘存储和文件系统管理 -- 逻辑卷管理器(LVM)(五)
- go语言web开发系列之十一:gin框架通过casbin实现rbac权限设计(csv存储)
- 高性能分布式对象存储——MinIO(环境部署)
- 阿里云OSS对象存储搭建网盘教程
- filebeat将收集来的日志存储到自定义名称的es索引(四)
- 12 图入门高性能分布式对象存储 MinIO
- Ceph RGW对象存储