zoukankan      html  css  js  c++  java
  • oc block基本使用

    //
    //  main.m
    //  block基本使用
    //
    //  Created by Ymmmsick on 15/7/21.
    //  Copyright (c) 2015年 Ymmmsick. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    typedef int (^IntBlock)() ;
    typedef void (^VoidBlock)();
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            // insert code here...
            NSLog(@"这个哥修改过的模版!");
            
            //没有行参,没有返回值的block
            void (^testBlock)() = ^ {
                NSLog(@"Block---->Test");
                NSLog(@"Block---->Test");
            };
            
            testBlock();
            
            //有行参有返回值的block
            int (^sumBlock)(int,int) = ^(int a,int b){
                return a+b;
            };
            NSLog(@"sum is :%d",sumBlock(10,12));
            
            //typedef
            IntBlock productBlock = ^(int a,int b){
                return a * b;
            };
            NSLog(@"product is :%d",productBlock(10,10));
            
            /*
             Block访问外部变量
             1.block内部可以访问外部的变量
             2.默认情况下,block不能修改外部的变量
             3.外部变量添加__block关键字,block内部就可以修改外部的变量
             */
            
            __block int a = 0;
            VoidBlock areaBlock = ^{
                a = 10;
                NSLog(@"a = %d",a);
            };
            areaBlock();
        }
        return 0;
    }
  • 相关阅读:
    数组类型
    约瑟夫环问题
    const在c和c++中地位不同
    Makefile学习之路——4
    单链表综合操作
    算法初探——大O表示法
    数据结构实用概念
    Makefile学习之路——3
    翻转字符串
    Makefile学习之路——2
  • 原文地址:https://www.cnblogs.com/wubingshenyin/p/4665892.html
Copyright © 2011-2022 走看看