Block循环引用
typedef void(^blk_t)(void);
@interface Person : NSObject
{
blk_t blk_;
}
@property (nonatomic, weak) NSArray *array;
@end
@implementation Person
- (instancetype)init
{
self = [super init];
blk_ = ^{
NSLog(@"array = %@",_array);//循环引用的警告提示
};
return self;
}
/*
还是会有循环引用的警告提示,因为循环引用的是self和block之间的事情,
这个被Block持有的成员变量是strong还是weak都没有关系,
而且即使是基本类型(assign)也是一样。
*/