iOS block传值

原创 2016年06月02日 10:25:43

有两个页面,分别是:FirstViewController和SecondViewController,想到达到的效果是:从第一个页面push到第二个页面,然后在第二个页面pop的时候把值传回第一个页面。


大概代码如下,FirstViewController点击按钮:

- (void)btnClick
{
    SecondViewController *second = [[SecondViewController alloc] init];
    [second completeBlock:^(NSString *name) {
        NSLog(@"回调拿到的name = %@", name);
    }];
    
    [self.navigationController pushViewController:second animated:YES];
}

SecondViewController.h :


typedef void(^Block)(NSString *name); // 定义一个Block类型

@interface SecondViewController : UIViewController

@property (nonatomic, copy) Block block; // block属性

- (void)completeBlock:(Block)block; // block回调方法

@end

SecondViewController.m 点击按钮pop回第一个页面:


- (void)btnClick
{
    // 本页面的block存在则响应第一个页面的回调
    if (self.block) {
        self.block(@"Jerry Yao");
    }
    
    [self.navigationController popViewControllerAnimated:YES];
}

/**
 *  重写回调get方法
 *
 *  @param block 把第一个页面实例化的block传到本页面
 */
- (void)completeBlock:(Block)block
{
    _block = block;
}



版权声明:本文为博主原创文章,未经博主允许爱转不转。

iOS Block的基本使用以及Block传值

block为我们提供了一个非常便捷的方法去实现各种传值以及回调 合理的使用block可以减少代码量以及更加优雅的实现功能 现做个小整理如下: #pragma mark About Block ...
  • Scott_cc
  • Scott_cc
  • 2016年04月14日 15:52
  • 3399

iOS --- block的一些使用方法(反向传值)

最近有个朋友问我iOS中的block 是怎么用的, 我根据自己的所学把实际应用的一些写法告诉他了 因为我觉得这个主要是更注重实用性, 好了废话不多说,直接上实际的 ------...
  • withStyle
  • withStyle
  • 2015年12月02日 16:16
  • 3675

Block在UITableViewcell中的正向和反向传值

我们都习惯说 反向传值用Block,但是正向和反向都只是相对的 下面我 先 用一个自定义cell来给button“正向”传值,效果如下图(带颜色的是重点哦) 1、“正向”传值 ...
  • TheForceCommander
  • TheForceCommander
  • 2015年09月25日 17:08
  • 1805

ios 视图间Block传值

  • 2013年09月29日 09:59
  • 61KB
  • 下载

iOS Block 的使用, 包括传值, 基本用法

  • 2016年08月29日 17:45
  • 41KB
  • 下载

iOS --- block的一些使用方法(反向传值)

最近有个朋友问我iOS中的block 是怎么用的, 我根据自己的所学把实际应用的一些写法告诉他了 因为我觉得这个主要是更注重实用性, 好了废话不多说,直接上实际的 ------...
  • withStyle
  • withStyle
  • 2015年12月02日 16:16
  • 3675

关于iOS 中得block传值问题献给新手

关于block传值类似与代理传值,而block的优点就是不用繁琐的
  • Chalice_Li
  • Chalice_Li
  • 2014年11月12日 20:43
  • 255

iOS开发-------网络请求(自定义请求管理类,解决在Block中传值问题)

目前看到了网络请求,并且也会用AFNetworking类库进行Json的解析,但是想大家也会想,每次都在ViewController获取请求,似乎有些繁琐,那么能不能单独写一个类,直接返回我请求出来的...
  • RunIntoLove
  • RunIntoLove
  • 2015年09月17日 08:43
  • 1197

IOS-block实现页面之间的传值

利用Block实现两个页面之间的传值,假设有两个控制器control1 和control2,control1上有一个label和一个button,点击button跳转到control2,control...
  • Arack
  • Arack
  • 2016年08月02日 20:05
  • 658

iOS代理、block传值

主线程与子线程经常需要进行数据的传递,不同的类之间,不同的控制器之间都需要。 而且经常需要监听一个动作的完成,而后才去做相应事件。(代理是一对一的关系)。 一、代理传值 ...
  • sevenquan
  • sevenquan
  • 2015年12月25日 15:22
  • 314
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS block传值
举报原因:
原因补充:

(最多只允许输入30个字)