Block循环引用的例子
来源:互联网 发布:c语言实验室设备管理 编辑:程序博客网 时间:2024/06/05 08:46
//// main.m// Block循环引用//// Created by 白天钰 on 2017/8/15.// Copyright © 2017年 baitianyu. All rights reserved.//#import <Foundation/Foundation.h>typedef void (^blk_t) (void);@interface MyObject : NSObject { blk_t blk_; blk_t blk_2; id obj_;}@end@implementation MyObject- (id)init { self = [super init]; //通过Block语法生成在栈上的Block此时由栈复制到堆,并持有所使用的self,循环应用产生// 解决方式// id __weak tmp = self;// // blk_ = ^{NSLog(@"self = %@", tmp); }; blk_ = ^{NSLog(@"self = %@", self); }; blk_2 = ^{NSLog(@"self = %@", obj_); }; blk_(); return self;}- (void)dealloc { NSLog(@"dealloc");}@endint main(int argc, const char * argv[]) { @autoreleasepool { MyObject *o = [[MyObject alloc] init]; NSLog(@"%@", o); } return 0;}
阅读全文
1 1
- Block循环引用的例子
- Block的循环引用
- Block的循环引用
- 循环引用的block
- block的循环引用
- Block的循环引用
- Block的循环引用
- block的循环引用
- block的循环引用
- block的循环引用
- block 循环引用的问题
- Block的循环引用问题
- 防止Block的循环引用
- Block的循环引用问题
- block循环引用的解决办法
- block的循环引用问题
- Block的循环引用问题
- block导致的循环引用
- Java过滤器流之BufferedInputStream与BufferedOutputStream
- leetcode 406. Queue Reconstruction by Height (贪心)
- 爬虫实践---今日头条<街拍>图片
- MapReduce编程模型概述
- Android Studio编译报错“java.lang.OutOfMemoryError: GC overhead limit exceeded”
- Block循环引用的例子
- xml cdata的作用
- 分类与预测
- MFC编程中遇到的问题记录
- Google Chrome浏览器点击 input file上传按钮时延迟3-5秒
- hadoop安装过程中的问题
- USACO Section 1.3 Wormholes
- 计算机网络面试题
- Java虚拟机故障诊断和性能优化