__block变量的说明(完结)

// gloabString = @"gloabString";
// NSLog(@"init == %@",gloabString);
// typedef void(^myBlock) (int a);
// myBlock block = ^(int m){
// NSLog(@"%d",m);
// gloabString = @"changeGloabString";
// NSLog(@" in %@",gloabString);
// };
// NSLog(@"pro == %@",gloabString);
// block(10);
// NSLog(@" out %@",gloabString);
/**
init == gloabString
pro == gloabString
10
in changeGloabString
out changeGloabString
*/
全局变量、静态变量 ?要看看内存的事情哦,你就会理解了

// NSString partString = @"partString";
// NSLog(@"init partString %@",partString);
// typedef void(^myBlock) (int a);
// myBlock block = ^(int m){
// NSLog(@"partString %@",partString);
// };
// partString = @"changePartString";
// NSLog(@"partString 1 %@",partString);
// block(10);
// NSLog(@"partString 2 %@",partString);
// /
*
// init partString partString
// partString 1 changePartString
// partString partString
// partString 2 changePartString
// */

__block NSString blockString = @"blockString";
NSLog(@"init Value %@",blockString);
typedef void(^myBlock) (int a);
myBlock block = ^(int m){
blockString = @"changeBlockString";
NSLog(@"blockString in %@",blockString);
};
NSLog(@"blockString out1 %@",blockString);
block(111);
NSLog(@"blockString out2 %@",blockString);
/
*
init Value blockString
blockString out1 blockString
blockString in changeBlockString
blockString out2 changeBlockString
*/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等。用过GCD就知道Block的精妙之处。...
    Coder_JMicheal阅读 4,075评论 2 1
  • iOS代码块Block 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,B...
    smile刺客阅读 6,990评论 2 26
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,894评论 0 9
  • 前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这...
    小人不才阅读 9,177评论 0 23
  • 今天的记录,是从书中看到的理论知识结合自己的实践感受。 都说英语启蒙需要“磨耳朵”,我通常一天的安排是这样的: 1...
    兔思思阅读 3,051评论 0 0

友情链接更多精彩内容