美文网首页iOS 开发 ios
利用typedef为Block进行重命名

利用typedef为Block进行重命名

作者: 天空没有太阳 | 来源:发表于2016-03-01 16:51 被阅读1953次

    我们可以使用typedef为block重命名:

    typedef int (^Sum) (int,  int);
    

    这样我们就利用typedef定义了一个block,这个block的名字就是Sum,需要传入两个int类型参数:

    Sum mySum = ^(int a, int b) {
                    n = 2;
                    return (a + b)*n;
                };
    

    这样就完整的定义好了一个block了,接下来的使用如下:

    #import <Foundation/Foundation.h>
    typedef int (^Sum) (int, int);
    int main(int argc, const char * argv[])
    {
        __block int n = 1;
        @autoreleasepool {
                Sum mySum = ^(int a, int b) {
                    n = 10;
                    return (a + b)*n;
                };
                NSLog(@"(1 + 2) * %i = %d", n, mySum(1, 2));
        }
        return 0;
    }
    

    相关文章

      网友评论

        本文标题:利用typedef为Block进行重命名

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