iOS系统中一些常见问题
对于通知,大家想必都不陌生,它是一个单例,允许当事件发生时通知一些对象,让我们在低程度耦合的情况下,来达到通信的目的。
通知的优势:
1.不需要编写太多代码,实现比较简单
2.对于一个发出的通知,可以多个对象作出反应,即是说通知是一对多的形式
通知的缺点:
1.在编译期不会检查通知是否能够被观察者正确处理
2.在释放注册的对象时,需要在通知中心取消注册
3.在调试应用时,难以跟踪程序
4.发出通知后,不能够从观察者那里获取任何反馈信息
通知的基本实现:
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(test) name:@“test” object:nil];
NSLog(@“注册通知 - %@”,[NSThread currentThread]);
}
- (void)touchesBegan:(NSSet《UITouch *》 *)touches withEvent:(UIEvent *)event {
[[NSNotificationCenter defaultCenter] postNotificationName:@“test” object:nil];
NSLog(@“发送通知完成 - %@”,[NSThread currentThread]);
}
- (void)test {
NSLog(@“接收到通知 - %@”,[NSThread currentThread]);
sleep(3);
}
打印结果:
2017-06-13 16:53:01.040 通知的基本使用[24531:3283934] 注册通知 - 《NSThread: 0x600000079c80》{number = 1, name = main}
2017-06-13 16:53:10.334 通知的基本使用[24531:3283934] 接收到通知 - 《NSThread: 0x600000079c80》{number = 1, name = main}
2017-06-13 16:53:13.335 通知的基本使用[24531:3283934] 发送通知完成 - 《NSThread: 0x600000079c80》{number = 1, name = main}
注意打印结果:在test方法执行完毕之后,才会打印发送完成的log。
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%
下载地址
iOS系统中一些常见问题下载
相关电子资料下载
- iOS17.1可能明天发布,iOS17.1主要修复哪些问题? 377
- 华为全新鸿蒙蓄势待发 仅支持鸿蒙内核和鸿蒙系统应用 719
- 苹果手机系统iOS 17遭用户质疑 731
- iPhone12辐射超标?苹果推送iOS 17.1解决此事 750
- 传华为囤积零部件 目标明年智能手机出货7000万部;消息称 MiOS 仅限国内,小米 28208
- 苹果推送iOS17.0.3,解决iPhone15Pro系列存在机身过热 216
- Testin云测兼容和真机服务平台中上线iPhone 15系列手机 208
- 利尔达推出搭载HooRiiOS的Matter模组 145
- 运放参数解析:输入偏置电流(Ibias)和失调电流(Ios) 128
- 昆仑太科发布支持国产飞腾腾锐D2000芯片的开源BIOS固件版本 448