IOS的Delegate,通俗一点说就是页面之间的传值。

总结一下现在知道的IOS页面之间传值的方式有三种

1.使用NSNotification发送通知的传值

主要是通过NSNotificationCenter发送一个通知,他不知道要把值传给谁,当监听的页面收到通知消息,才会获取到消息。

2.是利用属性来传值,我主要是用到A->B中A页面要跳转到B页面,也就把B中需要A的参数通过preparFroSegue方法从A传给B

3.通过NSUserDefault来传值,其主要思想是把值写到本地化的一个文件中,当另外一个页面需要的时候就会通过URL来回去这个文件

4.通过delegate来传值,只要是A->B页面跳转后,当B中的操作完成以后,要把B中的操作的数据在A的页面显示的时候,这个时候就用到delegate了

首先:我们需要在B中声明一个delegate

B.h中代码如下

@protocol HBAddPersonTableViewControllerDelegate;

@interface HBAddPersonTableViewController : UITableViewController

@property (nonatomic , strong)id<HBAddPersonTableViewControllerDelegate> delegate;

@end

@protocol HBAddPersonTableViewControllerDelegate <NSObject>

-(void)savePayerOrConsumer:(NSArray *)usersInfo isToCunsumer:(BOOL)isToConsume isToPayer:(BOOL)isToPayer;

@end

B.m中代码如下

-(IBAction)completeButtonClick:(id)sender
{
if(self.delegate)
{
[self.delegate savePayerOrConsumer:_selectContact isToCunsumer:_isComeFromGetConsumer isToPayer:_isComeFromGetPayer];
}
}

其中在A页面就要声明这个delegate,并且在.m文件中实现声明的方法,参数的值就是B中的数值

IOS 页面之间的传值(主讲delegate)的更多相关文章

  1. MUI APP关于页面之间的传值,plusready和自定义事件

    最近在用MUI开发这个APP,发现有时候这个plusready不起作用,表现在,这个页面如果重复打开,这个plusready就进不去,然后上一个页面传过来的值,就没法接收了.这个经过MUI官方确认,是 ...

  2. iOS 页面跳转传值,属性传值,代理传值,代码块传值,单例传值,通知传值

    有时候我们在页面跳转的时候回传递相应的参数,如,你想把在第一个页面的文本框里的内容显示在第二个文本框中,或者你又想把第二个文本框中的内容改变之后到第一个页面的文本框中,所有,这个时候我们就要用到页面跳 ...

  3. struts2怎么实现页面到页面之间的传值?

    我要实现一个产品订购的功能,在浏览产品的时候通过点击一个订购的链接,跳转到提交订单的页面,在跳转的同时要把浏览的产品的名称和型号传到提交订单的页面,并且把这里的订单类的产品名称和型号的表单域里赋上传递 ...

  4. MUI --- 多个页面之间的传值 A页面B 页面 C页面

    问题: 夸页面传值的,A.B.C三个页面,点A弹出B,C是B子页面;A有两个值要传到C页面中,要怎么样传递呢? A页面传值就不累述了 B页面才是关键 mui.plusReady(function() ...

  5. window.open()页面之间函数传值

    项目中遇到的问题,使用window.open()开一个页面之后,cookie会消失,所以无法一键切肤不管作用,解决方案如下: window.open()总结: window.open("sU ...

  6. html页面之间相互传值

    常见的在页面登录过后会获得一个token值然后页面跳转时传给下一个页面 sessionStorage.setItem("token",result.token);//传输token ...

  7. JSP页面之间互相传值

    页面一: <s:if test="#list.sourceId==1">                            <a               ...

  8. iOS 页面之间的专长动画控制器间的转换

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 24.0px; font: 14.0px "Heiti SC Light" ...

  9. iOS 页面之间的转场动画控制器间的转换

    CATransition类实现层的转场动画.你可以从一组预定义的转换或者通过提供定制的CIFilter实例来指定转场效果. 例如:控制器之间的跳转 LoginViewController *myVC ...

随机推荐

  1. Java中的图形界面编程

    前言 正文 Java中的图形界面编程 AWT/Swing AWT(Abstract Window ToolKits,抽象窗体工具集) 1.容器类:用来存储组件,实现容器布局 2.组件类:实现界面的一些 ...

  2. WCF编写时候的测试

    1右击WCF创建到使用到发布这篇文章中的类库项目中的接口类实现文件添加断点 2右击WCF创建到使用到发布这篇文章中的WCF服务网站设为启动项并允许 3右击WCF创建到使用到发布这篇文章中的WPF项目调 ...

  3. 对Spring from中日期显示格式化问题

    开始时间 结束时间 保存 取消 想在input中让日期格式显示为HH:ss 但是各种百度没有找到答案 最后Google之 http://stackoverflow.com/questions/1173 ...

  4. 对常量的引用(reference to const)的一般用途(转载)

    如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作.对C++常量引用可以用其它任何引用来初始化:但不能改变. 关于引用的初始化 ...

  5. OSCache缓存框架介绍

          OSCache是一种开放性的JSP定制标记应用,由OpenSymphony设计,提供了在现有JSP页面之内实现快速内存缓冲的功能. OSCache是个一个广泛采用的高性能的J2EE缓存框架 ...

  6. python 之日期时间处理

    ##python时间操作一般使用time.datetime两个模块 对于time模块,时间的表示模式有3种1.时间戳:time.time()2.字符串: time.strftime('%Y%m%d') ...

  7. PCB外形加工培训教材

    一.目录1.外形加工制程介绍2.外形加工机器介绍3.各制程流程介绍3.1锣板制程3.2V-Cut3.3啤板3.4斜边3.5洗板4.环保5.工业安全 1.0 外形加工制程介绍 外形加工包括: 1.1锣板 ...

  8. 基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置

    经过<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(1) - 数据源与事务管理>和<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(2) - ...

  9. Html 小插件3

    搜狗搜索框代码 <script>function verifyquery(form){if(form.sogou_drop.value==2){form.insite.value='';} ...

  10. css vertical-align全解

    CSS 的属性 vertical-align 指定了内联(inline)元素或表格单元格(table-cell)元素的垂直对齐方式.  要记住:vertical-align不影响块级元素中内容的对齐. ...