Block的注意点
来源:互联网 发布:lns是什么社交软件 编辑:程序博客网 时间:2024/04/19 13:47
//// main.m// OC语言学习#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { //1.block中可以访问外面的变量 int a = 10; void (^myBlock)() = ^{ NSLog(@"a = %i",a); }; myBlock(); //输出: a = 10 //2.block中可以定义和外界同名的变量 int a1 = 10; void (^myBlock1)() = ^{ int a1 = 20; NSLog(@"a1 = %i",a1); }; myBlock1(); //输出:a1 = 20 //3.默认情况下,不可以在block中修改外界变量的值 int a2 = 10; void (^myBlock2)() = ^{ NSLog(@"a2 = %i",a2); }; a2 = 20; myBlock2(); //输出: a2 = 10 //3.1在block中修改外面变量的值 __block int a3 = 10; void (^myBlock3)() = ^{ a3 = 50; NSLog(@"a3 = %i",a3); }; myBlock3(); //输出:a3 = 50 //4.block是存储在堆中还是栈中? /* 默认情况下,block存储在栈中,如果对block进行一个copy操作,block会转移到堆中 如果block在栈中,block中访问了外界的对象,那么不会对对象进行retain操作 但是如果block在堆中,block中访问了外界的对象,那么会对外界的对象进行一次retain */ //所以,如果在block中访问了外界的对象,一定要给对象加上 __block,只要加上 __block, //即使block存储在堆中,也不会对外界的对象进行retain return 0;}
0 0
- Block的注意点
- 使用block的一些注意点
- OC-----------Block块的注意点
- Block使用注意点
- iOS-Block使用注意点
- __block与__weak的区别,block使用注意点
- Block的详细使用和面试注意点
- iOS 开发中使用block的注意点
- 关于block访问外部变量的一些小注意点
- 关于block访问外部变量的一些小注意点
- iOS中block的简单使用及注意点
- Block使用的注意
- block需要注意的细节
- 04-Block的使用注意
- iOS中Block使用注意点及常见问题浅析
- ExecuteNonQuery()的注意点:
- sort的注意点
- 小的注意点
- boost 库CMakeLists.txt配置
- 206,UIPickView类
- TSP
- 基于RTSP的流媒体播放器制作(2)
- jython使用入门
- Block的注意点
- Objective-C Runtime
- Java中整数溢出的问题:int i=1000000;i*i为何等于-727379968,Java是如何处理溢出的?
- Object-C--->Swift之(一)元组(tuple)类型
- IntelliJ IDEA,代码行宽度超出限制时设置自动换行
- LeetCode N-Queens II
- Runtime Method Swizzling
- HTML常见声明
- SparkMLlib之五:优化