使用NSHashTable存储引用对象
2014-04-28 15:25
190 查看
我们使用集合(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表用来存储弱引用对象.
那就使用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表用来存储弱引用对象.
相关文章推荐
- 使用NSHashTable存储引用对象
- 解决使用DevExpress开发错误:未将对象引用设置到对象的实例
- 循环引用, 如果都是对象, 使用 retain + assign
- javascript使用方括号([])和“.”引用对象的属性和方法
- 【Java面试题】2 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析
- cocos2d正确创建和释放对象,引用计数器的使用
- 使用FindControl出现未将对象引用设置到对象的实例 错误的解决办法
- 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- 使用表单传递参数,request处理参数出现"未将对象引用设置到对象的实例
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- 在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。
- javascript使用方括号([])引用对象的属性和方法
- 【转】javascript中值传递,地址传递,引用传递的问题(使用js创建list对象时会用到)
- 【Java基础】在使用@Deprecated注解时发生的对象引用变量的类型的问题
- 使用 引用计数 来跟踪访问共享对象的对象数量
- 使用json序列化类型为“ajax学习.DataSetComment+T_CommentDataTable”的对象时检测到循环引用。
- .Net 指针使用以及在栈上创建引用对象
- C++常量限定符的使用(指针、引用、普通对象)
- ASP.NET在.ashx文件中使用session出异常,未将对象引用到对象的实例