美文网首页
反向传值 block

反向传值 block

作者: MakeThatChange | 来源:发表于2016-05-30 15:25 被阅读69次

1).第二页中

1.声明block语法

typedef void(^MyBlock)(id object, NSString *text);

2.声明block的属性

@property (nonatomic, copy) MyBlock myblock;

//简写

@property (nonatomic, copy) void(^Block)(id object, NSString *text);

3.点击return调用用block

- (BOOL)textFieldShouldReturn:(UITextView *)textField{

   [textField resignFirstResponder];

   _myblock(self, textField.text);

//    _Block(self, textField.text);

   [self dismissViewControllerAnimated:YES completion:nil];

   return YES;

}

1).第一页中

创建第二页的引用,直接调用block

- (void)gotoPurpleVC:sender{

   PurpleViewController *vc = [PurpleViewController new];

   vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

   __block __weak __typeof(&*self)weakSelf = self;

   vc.myblock = ^(id object, NSString *text){

       self.label.text = text;

   };

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

———————————————————————————————————————

   __block __weak __typeof(&*self)weakSelf = self;

 @property会使第二页的声明周期和第一页一样

 第二页 vc.myblock中有self会使第一页的生命周期和第二页一样

   //block中回引起循环应用问题 在block中不予许出现循环引用问题,导致视图控制器永远都不会被释放

   //vc 生命周期 == self, @property

   //self 生命周期 == vc, myblock赋值

   //为了打破这种循环, 必须使用__weak来修饰self

   //__block 只是代表某个block外部的参数可以在内部修改

———————————————————————————————————————

相关文章

  • OC中反向传值的方法

    oc中反向传值四种方法 block反向传值 在需要传值的界面: 在接受到传值的界面 单例反向传值 创建一个单例类 ...

  • 关于反向传值(block,代理,通知)

    5种反向传值的方式 通知 代理 block

  • ioS 页面(代理、通知、block、单例、属性)传值

    iOS 页面(代理、通知、block、单例、属性)传值 一、传值分类 页面传值基本分为两种:正向传值和反向传值。 ...

  • iOS 页面(代理、通知、block、单例、属性)传值

    iOS 页面(代理、通知、block、单例、属性)传值 一、传值分类 页面传值基本分为两种:正向传值和反向传值。 ...

  • 反向传值 block

    1).第二页中 1.声明block语法 typedef void(^MyBlock)(id object, NSS...

  • Block其实很简单

    Block的几种情况 block的使用 1.使用block实现反向传值 2.利用block写响应式编程的技巧

  • 多线程2

    Block基本演练 block反向传值 主界面 准备等待执行的代码块 如果需要接收外界传入的值,需要定义参数 向目...

  • 最基础

    通知 单例存储 利用 block 反向传值 A 跳转到 B, B 往 A 传值 在 B 里面按钮点击方法里,或者返...

  • 常用的传值方法

    1.属性传值(正向) 这样就是正向的属性传值 2.block传值(反向) 思路: 1.首先,创建两个视图控制器,在...

  • iOS开发-block传值

    block传值步骤比代理传值步骤简便,实际开发中经常使用到。 block传值分为block属性传值和block方法...

网友评论

      本文标题:反向传值 block

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