uI基础--(5)中间传值、正向传值、反向传值(代理)

一、中间传值

全局变量

1.存放中间值(放在Delegate--比较麻烦)

@property(nonatomic,strong) NSString *labelText;

2.保存值(放在应用程序对象里面)

YYAppDelegate *appDelegate = [UIApplication sharedApplication].delegate;

    appDelegate.labelText = label.text;

3.取数据

YYAppDelegate *appDelegate = [UIApplication sharedApplication].delegate;

    label.text =appDelegate.labelText;

 

 

二、正向传值 

A — >B

局部变量

1.在B中设置一个属性保存值labelText

@property(nonatomic,strong) NSString *labelText;

2.保存值(在VA跳转到VB前)

YYGreenViewController *green = [[YYGreenViewController alloc]init];

    green.labelText = label.text;  

3.取数据,并设置

    label.text =self.labelText;

 

 

三、反向传值

 协议:代理(反向传值)

A <— B

1.创建协议代理(.h),并且声明方法(要做什么事,带参传值—就是你要传的值),

2.在B中的.h设置代理属性

@property(nonatomic,weak)id<协议名>delegate;

并在界面跳转前—————存值(.m)

[self.delegate 方法名: 要保存的东西]; 

3.A的(.h)遵守协议 

4.在(.m)获得代理,

YYGreenViewController *B = [[YYGreenViewController alloc]init];

  B.delegate = self;

5.拿到值实现协议的方法(A中)

 

转载于:https://www.cnblogs.com/iOSteemo/p/4313075.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值