博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS 页面之间的传值(主讲delegate)
阅读量:6972 次
发布时间:2019-06-27

本文共 1036 字,大约阅读时间需要 3 分钟。

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
delegate;@end@protocol HBAddPersonTableViewControllerDelegate
-(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中的数值

转载于:https://www.cnblogs.com/haibosoft/p/4174174.html

你可能感兴趣的文章
高通输了官司,需返还黑莓8.15亿专利费
查看>>
Facebook盯上修图应用Prisma 展示类似应用
查看>>
来Snapchat和QQ看看,什么叫年轻人的大生意
查看>>
硅谷基金为什么投资iPhone黑客的初创企业
查看>>
高通要赔韩国59亿 国产企业能否借机争取自身利益
查看>>
Dell'Oro指出2017年WDM市场将维持增长
查看>>
移动医疗最严监管来袭:大批在线医疗公司将死
查看>>
宣武医院:让物联网为智慧医疗添翼
查看>>
城市更智慧生活更便捷
查看>>
新型病毒DoubleAgent曝光:攻击计算机前先入侵防病毒软件
查看>>
这款Chrome扩展:能够提升空中WiFi的页面打开速度
查看>>
服务提供商收入下降12% 思科降低Q2财政预期
查看>>
四川信息安全产业今年产值将达400亿元
查看>>
智能安防发展面面观
查看>>
Office Mobile预览版更新17.7369版:Word文档可保存为PDF
查看>>
当SSD真的来敲门,是迎接还是等待?
查看>>
网站制作平台PageCloud获得A轮融资400万美元
查看>>
中盛能源广拓国际市场 约旦光伏电站项目开建
查看>>
2020年我国软件产业收入将突破8万亿元
查看>>
微软为中国政府推出特供版Windows 10,这里有你需要了解的几个事实
查看>>