美文网首页
block 反向传值详细解释

block 反向传值详细解释

作者: 毛毛虫惊碎花容 | 来源:发表于2017-02-27 17:22 被阅读0次
  1. 两个控制器,viewcontroller---push---secondviewcontroller。。。viewcontroler中有一个button(用来push到第二个控制器,还有一个lable(用来展示第二个页面blcok传过来的值
  2. 下面贴过来两个控制器中详细代码
viewcontroller.h
typedef NSString *(^mssblock)(NSString *);
@interface ViewController : UIViewController
@property (nonatomic ,copy) mssblock mss;
@property (weak, nonatomic) IBOutlet UILabel *showtexlable;
@end

viewcontroller.m

#import "ViewController.h"
#import "SecondViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (IBAction)pushpressed:(id)sender {
    SecondViewController *vc =[SecondViewController new];
    [self.navigationController pushViewController:vc animated:YES];
    [vc returnmessage:^(NSString *str) {
        self.showtexlable.text =str;
    }];
}
@end
secondviewcontroller.h
#import <UIKit/UIKit.h>

typedef void(^mssblcokdemo)(NSString *str);
@interface SecondViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *textfild;
@property (nonatomic ,strong) mssblcokdemo block;
-(void)returnmessage:(mssblcokdemo)block;
@end
secondviewcontroller.m
#import "SecondViewController.h"
@interface SecondViewController ()<UITextFieldDelegate>
@end
@implementation SecondViewController
- (IBAction)backpressed:(id)sender {
    self.block(_textfild.text);
    [self.navigationController popViewControllerAnimated:YES];
}
-(void)returnmessage:(mssblcokdemo)block{
    self.block=block;
}
@end

(由于系统键盘问题,键盘转换大小写卡顿很严重,mini盒子就这样,不适合开发,自己穷不怪公司,你们得谅解呀,不懂得地方可以留言,或者加qq 517769958)

相关文章

网友评论

      本文标题: block 反向传值详细解释

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