IOS中的__block关键字简单使用
2015-05-13 20:16
375 查看
/**13.__block什么时候用?**/
结论:在block里面修改局部变量的值都要用__block修饰
/**14.请教一个问题:在block里面,
对数组执行添加操作,
这个数组需要声明成 __block吗?**/
不需要声明成__block,因为testArr数组的指针并没有变(往数组里面添加对象,指针是没变的,只是指针指向的内存里面的内容变了)
/**15.在block里面,
对NSInteger进行修改,
这个NSInteger是否需要声明成__blcok
?**/
NSInteger的值发生改变,则要求添加__block修饰
代码实例:
运行结果:
2015-05-13 20:16:23.862 WXMovie_study[22827:1683307] _block testArr :(
1,
2,
3
) a:100
2015-05-13 20:16:23.862 WXMovie_study[22827:1683307] testArr :(
1,
2,
3
) a:100
结论:在block里面修改局部变量的值都要用__block修饰
/**14.请教一个问题:在block里面,
对数组执行添加操作,
这个数组需要声明成 __block吗?**/
不需要声明成__block,因为testArr数组的指针并没有变(往数组里面添加对象,指针是没变的,只是指针指向的内存里面的内容变了)
/**15.在block里面,
对NSInteger进行修改,
这个NSInteger是否需要声明成__blcok
?**/
NSInteger的值发生改变,则要求添加__block修饰
代码实例:
NSMutableArray *testArr =[[NSMutableArray alloc] initWithObjects:@"1",@"2", nil]; __block NSInteger a=10; /**结论:在block里面修改局部变量的值都要用__block修饰**/ void (^TestBlock)(void) = ^{ // NSMutableArray *temArr=[[NSMutableArray alloc] init]; // testArr=temArr;//testArr数组的指针发生改变时,testArr要添加__block修饰 a=100;//a的值发生改变,则要求添加__block修饰 // testArr不需要声明成__block,因为testArr数组的指针并没有变(往数组里面添加对象,指针是没变的,只是指针指向的内存里面的内容变了) [testArr addObject:[NSString stringWithFormat:@"3"]]; NSLog(@"_block testArr :%@ a:%d", testArr,a); }; a=0; TestBlock(); NSLog(@"testArr :%@ a:%d", testArr,a);
运行结果:
2015-05-13 20:16:23.862 WXMovie_study[22827:1683307] _block testArr :(
1,
2,
3
) a:100
2015-05-13 20:16:23.862 WXMovie_study[22827:1683307] testArr :(
1,
2,
3
) a:100
相关文章推荐
- IOS中的__block关键字简单使用
- iOS 简单block的使用
- iOS-Block的简单使用
- ios之block代码块的简单使用 函数回调
- iOS 关于block的简单使用
- iOS - block的简单使用
- iOS开发-block 简单使用
- iOS 9 关键字的简单使用
- iOS开发_block的简单使用
- iosiOS学习总结----block的简单使用
- iOS 简单使用Block回调
- iOS Block的简单使用以及__block 和static修饰变量
- IOS学习(二十一)block简单使用
- IOS-简单易懂的Block回调使用
- iOS开发 block的简单使用
- IOS Block代码块的简单使用
- 【ios】使用Block对POST异步操作的简单封装
- iOS简单封装网络请求,使用block回掉函数方式
- IOS基础_Block语法的简单使用
- iOS 简单易懂的 Block 回调使用和解析