美文网首页
block 作为 返回值 使用 -- 模仿Masonry链式编程

block 作为 返回值 使用 -- 模仿Masonry链式编程

作者: coderYL | 来源:发表于2016-08-03 18:46 被阅读87次

    一直都觉得使用Masonry的时候,语法很特别,今天来尝试下怎么实现

    关于block在这里就不赘述,直接上代码

    - (void)cacultor {
        YLCacultorManager *calcu = [[YLCacultorManager alloc]init];
        calcu.add(5).add(10).subduction(2).multiplication(2).division(4);
        NSLog(@"%.2lf",calcu.result);
    }
    

    模仿 Masonry链式编程的简单计算器

    YLCacultorManager.h

    @property (nonatomic, assign, readonly) CGFloat result;
    /**
     *  加法
     */
    - (YLCacultorManager * (^)(CGFloat))add;
    /**
     *  减法
     */
    - (YLCacultorManager * (^)(CGFloat))subduction;
    /**
     *  乘法
     */
    - (YLCacultorManager * (^)(CGFloat))multiplication;
    /**
     *  除法
     */
    - (YLCacultorManager * (^)(CGFloat))division;
    

    YLCacultorManager.m

    - (YLCacultorManager * (^)(CGFloat))add {
    
        return ^(CGFloat value){
            _result += value;
            return self;
        };
    }
    
    - (YLCacultorManager * (^)(CGFloat))subduction {
    
        return ^(CGFloat value){
            _result -= value;
            return self;
        };
    }
    
    - (YLCacultorManager * (^)(CGFloat))multiplication {
    
        return ^(CGFloat value){
            _result *= value;
            return self;
        };
    }
    
    - (YLCacultorManager * (^)(CGFloat))division {
    
        return ^(CGFloat value){
            _result /= value;
            return self;
        };
    }
    

    相关文章

      网友评论

          本文标题:block 作为 返回值 使用 -- 模仿Masonry链式编程

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