美文网首页
(八)block

(八)block

作者: 叔叔不吃棒棒糖 | 来源:发表于2017-06-30 15:05 被阅读9次

    前言

    总是提不起学习的心哈哈,坚持吧。block之前学GCD的时候用到过,当时做了简单的了解,今天总结下简单的block知识吧。应该都是最基础的知识了。

    一、block的概念

    block:带自动变量(局部变量)的匿名函数。这个额,其实我做过一段时间的前端,感觉这个和js中的匿名函数有点像,有兴趣的可以找一下自执行匿名函数,闭包。js作为还算年轻的语言,杂糅了多种语言,有些用法反而显得简单明了。
    直接上代码吧

        NSString * (^myBlock)(NSString *,NSString *) = ^(NSString *str1,NSString *str2){
            return [NSString stringWithFormat:@"%@ %@",str1,str2];
        };
        NSLog(@"%@",myBlock(@"my",@"block"));
    

    上述代码是完整的block,一般很多东西都可以省略,从左到右,返回值类型、block名字、形参、实参、函数体。
    打印如下

    textview[6715:1866873] my block
    

    二、typedef对block重命名

    typedef:typedef是替换的作用,作用是为一种数据类型定义一个新名字。
    例子:

        typedef int (^sum)(int);
        sum mySum = ^(int a){
            return a+1;
        };
        NSLog(@"%i",mySum(4));
    

    block有太多东西了,我周末加加班吧

    相关文章

      网友评论

          本文标题:(八)block

          本文链接:https://www.haomeiwen.com/subject/flzbcxtx.html