zoukankan      html  css  js  c++  java
  • Block 传值

    A 界面:

    - (IBAction)gotoVC:(id)sender {

        //必须在事件发生时调用Block,每次Block对应一次初始化

        cvc = [[CViewController alloc]initWithNibName:@"CViewController" bundle:nil];   

        [cvc returenText:^(NSString *str) {//调用block

            self.A.text = str;

        }];    

        [self presentViewController:cvc animated:YES completion:nil];

    }

    或者:不能再viewDidLoad里面初始化调用block 又使用其他方式跳转(如在viewdidload里面初始化而使用segue跳转,因为segue又初始化一遍了)。

    -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

        BVCViewController*bvc0 = segue.destinationViewController;

        [bvc0 returenText:^(NSString *str) {

            self.A.text = str;

        }];

    }

    B 界面

    .h 文件

    typedef void(^ReturnTextStr)(NSString*str); //定义一个block

    @property(nonatomic,strong)ReturnTextStr returnStrBlock;//声明一个定义好的block

    -(void)returenText:(ReturnTextStr)block;//block方法

     

    .m文件

    -(void)returenText:(ReturnTextStr)block{

        _returnStrBlock = block;

    }

    - (IBAction)back:(id)sender {   //回调 

        [self dismissViewControllerAnimated:YES completion:^{    

            if (_returnStrBlock != nil ) {

                _returnStrBlock(self.blockTEXT.text);

            }

        }];   

    }

  • 相关阅读:
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    C语言博客作业05--指针
    C语言博客作业04--数组
    DS博客作业8——课程总结
    DS博客作业07——查找
    DS博客作业06--图
    DS博客作业——树
    DS博客作业03--栈和队列
  • 原文地址:https://www.cnblogs.com/mapanguan/p/5455543.html
Copyright © 2011-2022 走看看