方法选择器的妙用
2015-12-08 20:39
513 查看
我们在iOS开发的时候,有时候会遇到这种情况。比如我们在某种特定的状态下,想让执行某个特定的方法,有些类似继承于UIControl下的UI控件都有一个- (void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents的方法,在某个controlEvents的状态下,某个target下,执行某个action方法。
在我个人开发时遇到一个问题,问题描述:当应用进入前台时,不同的页面需进行不同的操作,比如:页面A需要刷新UI,页面B需要重新请求数据,页面C需要提示用户等等。
我们先看看逻辑,在进入后台时先注册通知,在应用恢复活跃或进入前台时再发送通知:
为了方便使用,这里我把注册、发送通知的方法封装到一个工具类里,我把这个类设置成了单例:
到这里我们就可以开始方法选择器的设置了,先设置一个方法选择器的属性,用来传递方法名,接下来就是设置通知的name、target(根据需求,我这里还设置了一个bool值用于判断是否注册通知):
到这里,所有的准备工作就做完啦,剩下的就是实现和调用了。在viewDidLoad或viewWillAppear中,先给你的方法选择器赋上值,就等着应用恢复前台时去调用对应的方法咯~
以上仅是小弟的个人见解,如有错误,欢迎各位大牛批评、纠正。
在我个人开发时遇到一个问题,问题描述:当应用进入前台时,不同的页面需进行不同的操作,比如:页面A需要刷新UI,页面B需要重新请求数据,页面C需要提示用户等等。
我们先看看逻辑,在进入后台时先注册通知,在应用恢复活跃或进入前台时再发送通知:
为了方便使用,这里我把注册、发送通知的方法封装到一个工具类里,我把这个类设置成了单例:
到这里我们就可以开始方法选择器的设置了,先设置一个方法选择器的属性,用来传递方法名,接下来就是设置通知的name、target(根据需求,我这里还设置了一个bool值用于判断是否注册通知):
到这里,所有的准备工作就做完啦,剩下的就是实现和调用了。在viewDidLoad或viewWillAppear中,先给你的方法选择器赋上值,就等着应用恢复前台时去调用对应的方法咯~
以上仅是小弟的个人见解,如有错误,欢迎各位大牛批评、纠正。
相关文章推荐
- MNIST手写数字数据库
- WCF类型共享技巧【转载】
- 【转载】COM 组件设计与应用(十八)——属性包
- 北大OJ3414
- c语言输入输出优化
- 关于博客搬家及github的一些
- 北大OJ1308
- LeetCode 39 && 40 Combination Sum I && II 关键在于剪枝,剪枝讨论在末尾
- Android实现简单的文件下载
- ndk for mac 下载地址
- iOS 9 请求网络数据出现:App Transport Security has blocked a cleartext HTTP (http://) resource load since it
- Daily Scrum 12.8
- oracle迁移mysql数据库注意
- HDOJ1796 How many integers can you find(dfs+容斥)
- POJ 2586 贪心
- DoTween - Sequence
- Unix 环境高级编程(APUE) 之 七 进程关系 和 守护进程
- 找出数组中的第K大的元素
- shell 脚本中将输出内容赋值给一个变量时的换行问题
- OpenJudge_P2229 Sumsets