您的位置:首页 > 其它

方法选择器的妙用

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中,先给你的方法选择器赋上值,就等着应用恢复前台时去调用对应的方法咯~


以上仅是小弟的个人见解,如有错误,欢迎各位大牛批评、纠正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: