使用NSHashTable存储引用对象-阿里云开发者社区

开发者社区> 游贤明> 正文

使用NSHashTable存储引用对象

简介:
+关注继续查看

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表用来存储弱引用对象.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
函数返回值是否使用引用类型的问题:理解引用、返回值
  在《对象更有用的玻璃罩——常引用》一文中,介绍了对象作为函数的参数时,推荐使用引用的形式。并且,如果实际参数的值不允许改变时,声明为常引用更佳。   在《第8周-任务1-方案3-复数类中运算符重载(与实数运算)》中,又讨论了一个问题,结论是:在类似复数加法运算符重载这样的函数,形式参数用作为常引用最佳,如: friend Complex operator + (const
1151 0
基于Tablestore实现海量运动轨迹数据存储
前言 现在越来越多的人都开始关心自己的运动数据,比如每日的计步、跑步里程、骑行里程等。运动APP与运动类的穿戴设备借助传感器、地图、GPS定位等技术,收集好运动数据以后,通过与互联网社交功能结合,产生了一种新的运动模式。
3672 0
JS引用路劲为什么在前面加上两个斜杠
原文:JS引用路劲为什么在前面加上两个斜杠 //表示同协议,一般现在用在https跨域名地址情况下。比如第三方统计代码的引入,用//就不用很麻烦地区分https还是http,也不用担心https下降到http出问题 ...
696 0
利用JSP内置的Application对象实现的网站引用计数
利用JSP内置的Application对象实现的网站引用计数
12 0
视图层的引用和模板使用
引用: axml提供两种文件引用方式import和include。    (1)import import可以加载已经定义好的template。             比如,在item.axml中定义了一个叫item的template。
251 0
+关注
711
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载