iOS中的集合该如何弱引用对象示例详解

2020-01-21 00:44:25刘景俊

3. 根据 NSValue 的思路自己写一个类

新建一个 WeakRef 类:


@interface WeakRef : NSObject
@property (nonatomic, weak) id ref;
@end

使用:


WeakRef *weakRef = [WeakRef new];
weakRef.ref = xxx;
[array addObject:weakRef];

4. 根据 NSValue 的思路自己写一个 block

声明和定义一个 block:


typedef id(^WeakRefBlock)();

typedef id(^MakeWeakRefBlock)(id);

MakeWeakRefBlock makeWeakRef (id object) {
  __weak id weakref = object;
   WeakRefBlock block = ^(){
    return weakref;
  };
  return block;
}

使用:


[array addObject:makeWeakRef([NSObject new])];

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。

 
注:相关教程知识阅读请移步到IOS开发频道。