利用KVO时,注意处理方法所在线程
2016-03-30 13:21
183 查看
利用 KVO,关注对象某属性的变化,当该属性变化时,处理该属性变化的观察者处理方法:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
被调用。
需要注意的是该处理方法,被调用时所在的线程:
位于被观察的对象属性变化时的线程里。
比如,在线程3里改变了对象属性,那么,该处理方法就在线程3里被调用;
因此,若在该处理方法里有更新UI的操作时,需要在该方法里,切入主线程再操作;
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
被调用。
需要注意的是该处理方法,被调用时所在的线程:
位于被观察的对象属性变化时的线程里。
比如,在线程3里改变了对象属性,那么,该处理方法就在线程3里被调用;
因此,若在该处理方法里有更新UI的操作时,需要在该方法里,切入主线程再操作;
相关文章推荐
- linux下判断网络是否连接
- [java] 40个Java多线程问题总结
- PHP cURL 返回 HTTP/1.1 100 Continue
- PHP cURL 返回 HTTP/1.1 100 Continue
- NSStringTransform常量
- 获取应用版本号
- 在Linux里设置环境变量的方法(export PATH)
- 七中滤波方法测试matlab实现
- 10个违背直觉的邮件营销真相
- Android开发笔记(三)
- 当使用vim编辑commit msg时,希望直接退出,而不是退出后提交
- 自定义控件基础 onSaveInstanceState()
- 平均值滤波之经典形式改进
- sudo 权限问题
- win10重置无线网
- 30.leetcode题目104: Maximum Depth of Binary Tree(递归,深度优先)
- 解决软键盘对fixed的影响
- Linux进程管理之“四大名捕”
- 解决ListView在ScrollView中滑动冲突
- Redis持久化