IOS 页面之间的传值(主讲delegate)
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)的更多相关文章
- MUI APP关于页面之间的传值,plusready和自定义事件
最近在用MUI开发这个APP,发现有时候这个plusready不起作用,表现在,这个页面如果重复打开,这个plusready就进不去,然后上一个页面传过来的值,就没法接收了.这个经过MUI官方确认,是 ...
- iOS 页面跳转传值,属性传值,代理传值,代码块传值,单例传值,通知传值
有时候我们在页面跳转的时候回传递相应的参数,如,你想把在第一个页面的文本框里的内容显示在第二个文本框中,或者你又想把第二个文本框中的内容改变之后到第一个页面的文本框中,所有,这个时候我们就要用到页面跳 ...
- struts2怎么实现页面到页面之间的传值?
我要实现一个产品订购的功能,在浏览产品的时候通过点击一个订购的链接,跳转到提交订单的页面,在跳转的同时要把浏览的产品的名称和型号传到提交订单的页面,并且把这里的订单类的产品名称和型号的表单域里赋上传递 ...
- MUI --- 多个页面之间的传值 A页面B 页面 C页面
问题: 夸页面传值的,A.B.C三个页面,点A弹出B,C是B子页面;A有两个值要传到C页面中,要怎么样传递呢? A页面传值就不累述了 B页面才是关键 mui.plusReady(function() ...
- window.open()页面之间函数传值
项目中遇到的问题,使用window.open()开一个页面之后,cookie会消失,所以无法一键切肤不管作用,解决方案如下: window.open()总结: window.open("sU ...
- html页面之间相互传值
常见的在页面登录过后会获得一个token值然后页面跳转时传给下一个页面 sessionStorage.setItem("token",result.token);//传输token ...
- JSP页面之间互相传值
页面一: <s:if test="#list.sourceId==1"> <a ...
- iOS 页面之间的专长动画控制器间的转换
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 24.0px; font: 14.0px "Heiti SC Light" ...
- iOS 页面之间的转场动画控制器间的转换
CATransition类实现层的转场动画.你可以从一组预定义的转换或者通过提供定制的CIFilter实例来指定转场效果. 例如:控制器之间的跳转 LoginViewController *myVC ...
随机推荐
- C实例--推断一个字符串是否是回文数
回文是指顺读和反读内容均同样的字符串.比如"121","ABBA","X"等. 本实例将编写函数推断字符串是否是回文. 引入两个指针变量,開 ...
- 使用rowid和rownum获取记录时要注意的问题
我们知道.rowid和rownum在Oracle中都是能够被当做伪劣使用的,主要用来定位表中特定的记录,但它们是有差别的,rowid是和行记录的物理地址相应的.而rownum则不是,是通过返回的记录集 ...
- Java中文乱码问题研究(二)
上面写了console的乱码问题,接下来写的是web中servlet中的问题,大楷我比较关心一点,因为遇到这个的情况多一些吧.直接开始吧. 2. jsp和servlet中的乱码问题 分析: a. 其实 ...
- cocos2d-x 3.0rc2 对于每个包执行情况的重要平台 (超级方便)
首先,你需要下载三个文件:每间 android-ndk android-sdk ant 下载位置可以随意:由于3.0rc2执行setup.py 自己主动搜索这三个文件 win32cmd以下: (1) ...
- 2013 多校联合 F Magic Ball Game (hdu 4605)
http://acm.hdu.edu.cn/showproblem.php?pid=4605 Magic Ball Game Time Limit: 10000/5000 MS (Java/Other ...
- golang之interface(接口)与 reflect 机制
一.概述 什么是interface,简单的说,interface是一组method的组合,通过interface来定义对象的一组行为: interface类型定义了一组方法,如果某个对象实现了某个接口 ...
- C#实现给手机发送短信
public static void SendSMS(string FaSongUser, string ToUserList, string ContentStr) { //针对 ...
- [编程题] 最大的LeftMax与rightMax之差绝对值
[编程题] 最大的LeftMax与rightMax之差绝对值 给定一个长度为N的整型数组arr,可以划分成左右两个部分: 左部分arr[0..K],右部分arr[K+1..arr.length-1], ...
- Csharp多态的实现(虚方法)
1.什么是抽象类 1.1虚方法是用virtual修饰,在子类中用override进行重写 1.2虚方法是一个方法,放在类里面(可以再下面的代码中看到) 1.3虚方法可以 重写,也可以不重写(这个可以再 ...
- Java socket字节流传输的示例
服务端server端: package com.yuan.socket; import java.io.*; import java.net.ServerSocket; import java.net ...