zoukankan      html  css  js  c++  java
  • OC基础 block使用

    main

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            NSArray* array=@[@1,@2,@3,@4];//[NSNumber numberWithInteger:1]
            [array enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
                NSLog(@"obj:%@,idx:%lu,stop:%d",obj,idx,*stop);
                *stop=YES; // *stop
                
    //            对遍历的控制,想要让遍历过程停止的时候,将它调成yes就可以了;
               
                //block直译区块,它封装了一段代码,可以在任何时候执行,和传统的函数指针类似,可携带参数个返回值
                
    //            返回类型(^block名称)(参数列表)
    //            -int(^Sum)(int,int)=^(int a,int b){ return a+b;};
    //            -函数指针 int(*Sum)(int,int)
    
    //            typedef int(^MySum)(int,int);
    //            -MySum sum=^(int a,int b){return a+b};
    
    //            调用block
    //            -int a =Sum(10,11); NSLog(@"%i",a)
                           
            }];
            // block 声明
            void(^show)(id)=^(id obj){
                NSLog(@"obj%@",obj);
          
            };
            
            // block 使用
            show(array);
            
            //
            typedef int (^operation)(int,int);
            operation add=^(int a,int b){
                return a+b;
            };
            operation sub=^(int a,int b){
                return a-b;
            };
            int sum= add(10,20);
            NSLog(@"sum=%d",sum);
            
            // block 和局部变量的关系 可以访问局部变量
            __block int i=10;
            void(^print)()=^{
             i=20; //block 不能修改局部变量 可以修改__block 修饰的变量
                NSLog(@"i=%d",i);
                
            };
            
            print();
            
            
        
            
            
        }
        return 0;
    }
  • 相关阅读:
    这之后的事。。。
    POJ
    POJ
    博客园的装饰
    高斯消元
    逆序数技巧
    各种小的 dp (精)
    最大区间和变形
    树dp 统计异或值
    dp
  • 原文地址:https://www.cnblogs.com/zhangqing979797/p/13269625.html
Copyright © 2011-2022 走看看