key-value 监控实现 KVOController

BSD
Objective-C
OS X
Facebook
2014-02-26
红薯
温馨提示:该项目除了使用 BSD 协议授权外,还需遵守附加的专利授权

Key-value 的监控是一个 MVC 应用中非常有用的技术。KVOController (来自 facebook)构建了一个基于 Cocoa 的 time-tested key-value 监控实现,提供简单方便、线程安全的 API。好处包括:

  • 使用 Blocks、自定义 Actions 或者 NSKeyValueObserving 回调进行通知.

  • 观测者移除时无异常

  • 控制器 dealloc 时隐式的观测者移除

  • 提升使用 NSKeyValueObservingInitial 的性能

  • 线程安全并提供在观测者恢复时额外的保护Thread-safety with special guards against observer resurrection – rdar://15985376.

使用方法:

// create KVO controller with observer
FBKVOController *KVOController = [FBKVOController controllerWithObserver:self];

// observe clock date property 
[KVOController observe:clock keyPath:@"date" options:NSKeyValueObservingOptionInitial|NSKeyValueObservingOptionNew block:^(ClockView *clockView, Clock *clock, NSDictionary *change) {

  // update clock view with new value
  clockView.date = change[NSKeyValueChangeNewKey];
}];

要求:

  • iOS 6 or later.

  • OS X 10.7 or later.

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

KVOController 1.1.0 发布,键值监控技术封装

今天,Facebook 的员工在 GitHub 上发布了 KVOController v1.1.0 版本。 这次更新主要包含了以下改进: 新的特性: 针对 iOS/OS X/tvOS/watchOS 的 Carthage 支持 (#71 by @lexrus #99, #10...

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

KVOController原理解析

1、使用类似动态代理的模式和消息派发中枢模式实现整个架构; 2、使用NSMapTable和NSHashTable进行切面信息的增删查维护;主要用于去重和查看是否存在。 实现方式 消息流 KVOControllerKVOCo...

2019/02/25 19:14
8
0
Facebook将神奇动画引擎Pop开源了!

Facebook 2月发布的新闻类应用Paper,因为其灵动的用户界面和交互,成为近来最令人眼前一亮的移动产品之一。 而这个产品的背后是2011年Facebook收购的Push Pop Press,创始人是分别在Apple任...

2014/04/29 12:45
221
0
将BMP图片转换成ICON图标

将HBITMAP 转为 HICONHICON ConvertToHICON( CBitmap& bitmap) HICON HICONFromCBitmap(CBitmap& bitmap) { BITMAP bmp; bitmap.GetBitmap(&bmp); HBITMAP hbmMask = ::CreateCompatibleBitm...

2018/02/06 15:13
607
0
Apple官文中的KVO 与 FBKVOController

#<font face="宋体" color="#1c6189">前言</font> <font face="宋体" size=3> 本文将主要介绍以下内容: - 详细列出Apple官文中KVO的注意事项(Apple KVO相关的引用皆摘自Apple官文)。 - 介...

2019/04/10 10:10
10
0
学习笔记整理

写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上。 GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好。一下摘录一下几乎...

2016/03/29 11:22
108
1
iOS kvo 结合 FBKVOController 的使用

iOS kvo 结合 FBKVOController 的使用 iOS kvo 结合 FBKVOController 的使用 一:FBKVOControlloer是FaceBook开源的一个 在 iOS,maxOS上使用 kvo的 开源库; 提供了block和@selector(SEL) ...

2016/12/27 18:53
254
0
欲先攻其事必先利其器 (第三方资源篇)

一:源代码实例 1:快速搭建项目源代码 地址:https://github.com/wujunyang/MobileProject 2:高仿美团iOS版 地址:https://github.com/lookingstars/meituan 3:模仿网易新闻做的精仿网易新闻...

2016/07/20 09:36
228
0
GitHub 上 iOS 开源库 Top 100

原文出处: 李锦发(@李锦发) GitHub Top 100 简介 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. Android 版本的在此:...

2016/04/01 15:32
180
1

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部