Objective-C(13)代码块---block-创新互联
block类型
创新互联建站是一家集网站建设,含山企业网站建设,含山品牌网站建设,网站定制,含山网站建设报价,网络营销,网络优化,含山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
block是一种数据类型,在iOS开发中广泛使用且被苹果公司极力推荐使用,其功能很像C语言中的函数指针。
^ 是block的特有标志。
block的实现代码包含在{ }中。
大多数情况下,以内联的形式被定义及使用。
void (^demoBlock)() = ^ { NSLog(@"demo Block"); } int (^sumBlock)(int, int) = ^(int x, int y) { return x + y; }
block的使用和函数指针的使用类似
int (^sumblock)(int, int) = ^(int a, int b) { return a>b?a:b; } int c = sumblock(10, 20); NSLog(@"c=%d", c);
block内部可以访问外部的变量
外部的局部变量,block内部不能修改,全局变量可以。
如果局部变量使用__block声明,则可以在内部修改。
int a = 10; __block int b = 20; void (^myblock)(); myblock = ^ { NSLog(@"a=%d", a); b = 20; } myblock();
实际上,定义block时会对局部变量进行拷贝(副本)
block的重要意义:在处理异步任务时非常方便,这也是block应用的难点
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:Objective-C(13)代码块---block-创新互联
文章起源:http://hbruida.cn/article/cejpjj.html