iOS页面间传值的两种方式
来源:互联网 发布:321大数据是什么公司 编辑:程序博客网 时间:2024/05/29 14:03
假设:由A界面跳转到B界面,A把Person类的name属性带到B界面,现在在B界面修改了Person类的name属性,需要将修改后的name回传到A界面
一、利用协议来实现回调传值
1.1 在B.h中声明一个delegate
@protocol ChangeNameDelegate -(void) personNameChange:(NSString *)name; @end
1.2 在B.h中定义一个delegate变量
@property (nonatomic, assign) id<ChangeNameDelegate> delegate;
1.3 A.h中实现<ChangeNameDelegate>代理
1.4 再到A.m中实现ChangeNameDelegate代理的personNameChange方法
1.5 A中创建B对象时,需要给B对象中的delegate赋值,一般将A对象赋给delegate
1.6 B中修改了name后,调用_delegate的personNameChange方法
if ([_delegate respondsToSelector:@selector(personNameChange:)]) { [_delegate personNameChange:newName]; }
二、用Block来实现上面的回调传值
2.1 在B.h定义一个Block
typedef void(^ChangeNameBlock)(NSString *newName);
@property (nonatomic,copy) ChangeNameBlock block;
2.3 在A中创建B对象时,要给A中的block赋值
2.4 在B中修改值后,调用block回传新值
if (_block) { _block(newName); }
0 0
- iOS页面间传值的两种方式
- AOM页面嵌套的两种方式
- UIViewController页面跳转的两种方式
- Android页面转换的两种方式
- 页面的两种打印方式
- iOS页面间传值的方式
- iOS 常见的两种页面跳转
- ios应用程序的两种启动方式
- ios打电话的两种方式
- IOS加载视图的两种方式
- iOS 拨打电话的两种方式
- iOS 发送Email的两种方式
- ios的两种界面跳转方式
- IOS检测晃动的两种方式
- iOS 拨打电话的两种方式
- ios调用电话的两种方式
- iOS跳入Appstore的两种方式
- IOS检测晃动的两种方式
- Mysql 数据库学习 简单的增删改查
- 使用switch制作Powershell命令菜单
- HDU 5607 求A到B走K步的概率 矩阵快速幂DP
- 新wifi技术
- 优化UITableViewCell高度计算的那些事 附源码
- iOS页面间传值的两种方式
- win7系统下java相差8小时解决(经典小问题)
- ios distill failed for unknow reasons解决
- 百度web-ife前端学院-task1学习笔记
- libevent
- 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化
- T1(0860)
- QGis二次开发基础 -- 矢量图层的显示样式
- C#中调用控制台程序时隐藏控制台窗口