为什么要使用block变量呢?
创新互联公司2013年至今,先为云州等服务建站,云州等地企业,进行企业商务咨询服务。为云州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。因为当我们的程序比较繁杂的时候,我们在一个函数中要调用一个函数,还需要在外边来定义,实现,很不方便,但是有了block变量我们就可以在一个函数的内部来定义一个block变量,相当于又在函数的内部来定义了一个函数.
int (^max)(int x,int y) = ^(int x,int y)//求两个数的大值
{
return x > y ? x :y;
};
NSLog(@"%d",max(5,10));
int (^min)(int x,int y) =^(int x,int y)//求两个数的最小值
{
return x > y ? y : x;
};
NSLog(@"%d",min(5,10));
[cpp] view plaincopy
其中block变量的类型为:int(^)(int x ,int y);
max 为变量名,一般看函数是什么类型,只需要把函数名去掉然后剩下的就是函数的类型.
^(int x ,int y)
{
return x + y;
}
上面的对block变量进行初始化.
[cpp] view plaincopy
当在block内部使用block外部定义的局部变量时,如果变量没有被__block修饰,则在block内部是只读的,不能对它修改,如果想修改,变量前必须要有__block修饰
__block的作用是告诉编译器,在编译时在block内部不要把外部变量当做常量来使用,还是当做变量来使用.
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。