美文网首页
Blcok代码总结

Blcok代码总结

作者: 技术攻坚队 | 来源:发表于2016-07-02 14:53 被阅读0次

1.声明一个Block 并调用

//                 声明一个Block的变量
//          |             |               |
//          ⋁             ⋁               ⋁
//        返回值        block名称        block参数
        NSString *(^blockAddtime)(NSString *addtime);
        
        //block的具体实现
        blockAddtime = ^NSString * (NSString *addtime){
          
            return [NSString stringWithFormat:@"2016-%@",addtime];
        };
        
        //定义一个新对象调用Block
        
        NSString *newtime = blockAddtime(@"06-30");
        //输出
        
        NSLog(@"%@",newtime);
2.在函数中把Block作为参数传递或进行回调
//block 有参数无返回值 此种适用于传递对象或数据
-(void)getName:(NSString *)name WithBlock:(void(^)(NSString *newname))block{
 //  对传入的name进行处理
    NSString *newName = [NSString stringWithFormat:@"Bruce%@",name];
    //传递参数
    block(newName);
}

//调用
    [self getName:@"didi" WithBlock:^(NSString *newname) {
        self.title = newname;
    }];

//block 有参数有返回值 或 无参数有返回值
//此种适用于回调 在调用带block的函数时输入参数对函数进行控制
-(void)getName:(NSString *)name WithBlock:(NSString *(^)(NSString *newname))block{
    //  对传入的name进行处理
    NSString *fatherName = [NSString stringWithFormat:@"MIKE%@",name];
    //传递参数
   NSString *MIKEName = block(fatherName);
    
    NSLog(@"%@",MIKEName);
}
//调用
 [self getName:@"li" WithBlock:^NSString *(NSString *newname) {
        NSString *setMikeName = [NSString stringWithFormat:@"%@",newname];
        return setMikeName;
    }];

相关文章

网友评论

      本文标题:Blcok代码总结

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