IOS开发之Block的使用和内存管理
来源:互联网 发布:淘宝图片搬家怎么用 编辑:程序博客网 时间:2024/04/29 10:30
使用Block可简化回调;
Block 形式: 返回类型(^ Block名)(形式参数){实体;};
Block Pointer指针: 返回类型(^Block名)(形式参数);
可用typedof申明;
Block按在内存中的位置分为 NSGlobalBlock、NSStackBlock、NSMallocBlock;
ARC中将会自动把NSStackBlock复制到NSMallocBlock;
NSMallocBlock只需要对NSStackBlock进行copy操作就可以获取,但是retain操作就不行,
小Demo如下:
<span style="font-size:18px;">#import "ViewController.h"typedef void(^MyBlock)(void);@interface ViewController()@property (nonatomic, strong) MyBlock myblock;@property (nonatomic, assign)int globalData ;@end@implementation ViewController- (void)viewDidLoad { int i = 0; static int staticI = 0; __weak ViewController *viewCon = self; _myblock = ^(void){ NSLog(@"\ni = %d\n staticI = %d\n globaldata = %d",i,staticI,viewCon.globalData); }; i++; staticI++; _globalData++; _myblock(); }-(void)showMessage{ NSLog(@"this is private method showMessage");}@end</span>
输出结果为:
i = 0
staticI = 1
globaldata = 1
Block入门:http://www.jianshu.com/p/17872da184fb
Block内存管理:http://www.knowsky.com/883942.html
http://www.cocoachina.com/bbs/read.php?tid=87593&keyword=block
http://www.cocoachina.com/bbs/read.php?tid=88591&keyword=block
http://www.cocoachina.com/bbs/read.php?tid=9222&keyword=block
0 0
- IOS开发之Block的使用和内存管理
- IOS开发---OC语言-㉙内存管理:block的使用
- iOS开发 - Block块的使用(二)内存管理和特性
- iOS的block内存管理
- ios开发 block 在ARC机制下的内存管理
- IOS开发—block对外部变量的内存管理
- IOS开发之block的使用
- iOS开发之block的使用
- iOS-Block和变量的内存管理(二)
- iOS-Block和对象的内存管理(三)
- iOS学习之Block内存管理详解
- iOS笔记 Block和内存管理
- iOS关于block的内存管理
- iOS开发--Block的使用
- IOS之block和内存那些事
- 内存管理和 Block
- block的使用与内存管理
- Block的深入研究之Block的内存管理
- 开源项目工具库篇
- JSP--基本知识
- 理论
- 选择Session还是Cookie
- 使用Scrapy框架爬取艺龙网机票信息
- IOS开发之Block的使用和内存管理
- h264 图像、帧、片、NALU
- CentOS 7.1 编译opencv3.1+ffmpeg
- Docker初级——介绍、安装和使用
- 随机生成任意十个整数,分别利用冒泡和选择按从小到大排列。
- Android随心笔记三:XML布局文件的属性,src与background的简单区别
- Altium Designer 原理图编译错误解决
- iPhone开发 – iPhonAn App ID with Identifier 'XX.XX' is not available. Please enter a different string
- Hello World~~