ios 给网页传值_iOS学习——页面的传值方式

本文介绍了iOS中页面间数据传递的四种方式:通知(NSNotification)、UserDefaults、单例(Singleton)以及KVC(Key-Value Coding)。详细讲解了每种方式的适用场景、使用步骤以及注意事项,例如通知的注册与移除,UserDefaults的保存与读取,单例对象的创建,以及KVC的属性赋值操作。
摘要由CSDN通过智能技术生成

2.4 通知传值

方法描述:在通知接收方需要注册通知,并指定接收到通知后进行的操作;而在通知发送方则在需要传递数据时发送通知就OK了。通知的操作都是通过NSNotificationCenter来完成的。

但是要注意的两点是:

要想能够接收到通知进行处理,必须先注册通知。

在注册通知的页面消毁时一定要移除已经注册的通知,否则会造成内存泄漏

注册的接收通知的名称必须和发送通知的名称保持一致才能接收到,否则无法接收到发出的通知

适用场景:

一般用于已经通过push的方式进入到子页面,在从子页面返回主页面的时候(子页面会释放掉内存),需要在主页面中使用子页面中的数据,这是就可以利用通知反向传值。

但是也可以用于通过push进入子页面时向子页面传递数据,这时就可以用通知进行正向传值。

传递方式:正向传递(很少这样用)、反向传递(更常用)。

使用步骤:

反向传递:

在子页面返回的时候发送通知,注册的接收通知的名称必须和发送通知的名称保持一致才能接收到,否则无法接收到发出的通知

@interfaceKLSubViewController ()@end

@implementationKLSubViewController- (void)viewDidLoad {

[super viewDidLoad];

self.view.backgroundColor=[UIColor whiteColor];

self.title= @"子界面";//布局代码省略

.......

}- (void) btnClicked:(UIButton *)btn {//发送通知回传数据,回传的数据格式自定义,这里定义为dictionary类型

[[NSNotificationCenter defaultCenter] postNotificationName:@"TransDataNoti" object:nil userInfo:@{@"content":@"子页面回传的数据"}];

[self.navigationController popViewControllerAnimated:YES];

}

在主页面注册通知,并制定接收到通知后执行的操作方法。需要注意的是,在注册通知的页面消毁时一定要移除已经注册的通知,否则会造成内存泄漏。

@interfaceKLMainViewController ()

@property (strong, nonatomic) UITextField*textField;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值