ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

IOS 页面之间的传值(主讲delegate)

2019-06-29 19:31:10  阅读:132  来源: 互联网

标签:isToPayer 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中的数值

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

标签:isToPayer,IOS,delegate,跳转,传值,页面
来源: https://blog.csdn.net/weixin_34041003/article/details/94193143

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有