开发笔记- iOS监听某些事件的方法简单梳理
2016-03-18 00:40
323 查看
----Make by -LJW 转载请注明出处---
通知(NSNotificationCenter\NSNotification)
任何对象之间都可以传递消息
使用范围(多对多)
1个对象可以发通知给N个对象
1个对象可以接受N个对象发出的通知
必须得保证通知的名字在发出和监听时是一致的
KVO —>涉及到需要监听对象属性的改变的时候用KVO,其它情况建议不选
仅仅是能监听对象属性的改变(灵活度不如通知和代理)
代理
使用范围
1个对象只能设置一个代理(假设这个对象只有1个代理属性)
1个对象能成为多个对象的代理
比
建议使用
从规范使用上,建议使用代理,因为通知必须得保证通知的名字在发出和监听时是一致的
不过代理代码量比较多,能利用代理就用代理,不过一个对象想通知多个对象只能用通知了
通知:
注册/取消注册通知监听器—>(被监听者)发布通知
代理:
(被监听者)声明协议 / 声明协议方法 / 创建代理对象 / 触发事件里判断某个对象是否实现了协议方法—>代理遵守协议 / 实现代理方法
make by-LJW
通知(NSNotificationCenter\NSNotification)
任何对象之间都可以传递消息
使用范围(多对多)
1个对象可以发通知给N个对象
1个对象可以接受N个对象发出的通知
必须得保证通知的名字在发出和监听时是一致的
KVO —>涉及到需要监听对象属性的改变的时候用KVO,其它情况建议不选
仅仅是能监听对象属性的改变(灵活度不如通知和代理)
代理
使用范围
1个对象只能设置一个代理(假设这个对象只有1个代理属性)
1个对象能成为多个对象的代理
比
通知规范
建议使用
代理多于
通知
从规范使用上,建议使用代理,因为通知必须得保证通知的名字在发出和监听时是一致的
不过代理代码量比较多,能利用代理就用代理,不过一个对象想通知多个对象只能用通知了
通知:
注册/取消注册通知监听器—>(被监听者)发布通知
代理:
(被监听者)声明协议 / 声明协议方法 / 创建代理对象 / 触发事件里判断某个对象是否实现了协议方法—>代理遵守协议 / 实现代理方法
make by-LJW
相关文章推荐
- IOS 页面之间的跳转以及传值
- iOS与JS交互02
- iOS 数据持久化
- iOS短信,邮件,电话功能的开发
- IOS设计模式-备忘录模式
- iOS开发学习路径的一些建议
- iOS开发之百度地图导航
- iOS运行时runtime获取私有属性和强制更改私有属性,以及获取私有方法
- IOS 获取地理位置信息并逆向解析
- iOS中数据存储方式
- 什么是BIOS?
- iOS上机题(附个人见解)
- 转发:iOS之textfield用法大全
- iOS开发中的循环引用问题
- iOS渲染机制与性能优化
- iOS推送通知——Push Notifications Tutorial: Getting Started
- iOS 编程中用的最多的 tableView相关技术
- IOS 推送-客户端处理推送消息
- iOS AsyncSocket使用教程
- 对代理方法的理解iOS