首页 > 代码库 > IOS 页面之间的传值(主讲delegate)
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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。