iOS block回调

来源:互联网 发布:linux文本删除空格 编辑:程序博客网 时间:2024/06/09 19:55

在iOS4.0后推出的block语法。Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。

技术交流群:98787555 

一、讲解block回调例子

1.首先有两个控制器:A控制器:BlockViewController.h  


 B控制器:SlectBlockViewController.h



2.在B控制器.h文件定义block属性。如下:

@property (copy,nonatomic)void(^selectBlockParam)(NSString* content);


3.在设置参数的方法给block赋值

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    

    _selectBlockParam([NSStringstringWithFormat:@"Block回调参数%li",indexPath.row]);

    

    [self.navigationControllerpopViewControllerAnimated:YES];

}

4.最后一步在A控制器实例B控制器时实现block的set方法

- (IBAction)selectBlockParam:(id)sender {

    

    SlectBlockViewController *selectViewController = [[SlectBlockViewControlleralloc]initWithNibName:@"SlectBlockViewController"bundle:nil];

    

    [selectViewController setSelectBlockParam:^(NSString *content) {


        _setCallbackParameter.text = content;

        

    }];

    

    [self.navigationControllerpushViewController:selectViewControlleranimated:YES];

    

}




1 0
原创粉丝点击