½ñÌ죬Facebook µÄÔ±¹¤ÔÚ GitHub ÉÏ·¢²¼ÁË KVOController v1.1.0 °æ±¾¡£
Õâ´Î¸üÐÂÖ÷Òª°üº¬ÁËÒÔϸĽø£º
еÄÌØÐÔ£º
Õë¶Ô iOS/OS X/tvOS/watchOS µÄ Carthage Ö§³Ö £¨#71 by @lexrus #99, #101, #102 by @nlutsenko£©
ÌṩÁË¶Ô tvOS/watchOS ¹Ù·½µÄ CocoaPods Ö§³Ö £¨#79 by @acerbetti, #98 by @nlutsenko£©
ËùÓÐµÄ API ¶¼¾ßÓÐÁË nullability annotations £¨#88 by @nlutsenko£©
ËùÓеĶÔÏ󼯺ϣ¨object collections£©ÏÖÔÚ¶¼¾ßÓзºÐÍ £¨#91 by @nlutsenko£©
ÐµĹ¤¾ßºê£¨macros£©ÒÔÌṩ¶Ô¼üÖ±¹Û²é·¾¶£¨Key-Value Observing Paths£©ÓÐЧÐԵıàÒëʱ¼ì²é £¨#95, #97 by @nlutsenko£©
Ö§³Ö Xcode 7.3 ºÍ Apple ¿ª·¢×îÐµĹ¤¾ßÁ´ £¨#86, #90 by @nlutsenko£©
ÌáÉý£º
NSObject+FBKVOController·ÖÀࣨcategory£©ÏÖÔÚ±»·ÅÖÃÔÚÒ»¸ö¶ÀÁ¢µÄÎļþÖУ¨#36 by @ashton-w£©
µ±³¢ÊÔ¼à¿ØÒ»¸öÒѾ±»¼à¿ØµÄ¶ÔÏóʱ²»ÔÙÓжàÓàµÄ¾¯¸æÐÅÏ¢
ÐÞ¸´£º
ÐÞ¸´Á˵±³¢ÊÔ´Ó¼à¿ØÖ´Ðп飨observing block£©ÖÐÒÆ³ý¼à¿ØÕßʱ¿ÉÄÜÒý·¢µÄ±ÀÀ£ÐÐΪ £¨#85 by @siyusong£©
ÐÞ¸´²¢ÇÒÌáÉýÁËÎĵµµÄ¿É¶ÁÐÔ (#38 by @TongKuo #44 by @jeffreyjackson #49 by @ashton-w #64 by @jcavar #73 by @coeur )
Key-value µÄ¼à¿ØÊÇÒ»¸ö MVC Ó¦ÓÃÖзdz£ÓÐÓõļ¼Êõ£¬µ«½Ó¿Ú³óª¹ÅÀÏ¡£KVOController £¨À´×Ô Facebook£©¹¹½¨ÁËÒ»¸ö»ùÓÚ Cocoa µÄ time-tested key-value ¼à¿ØÊµÏÖ£¬Ìṩ¼òµ¥·½±ã¡¢Ḭ̈߳²È«µÄ API¡£ºÃ´¦°üÀ¨£º
ʹÓà Blocks¡¢×Ô¶¨Òå Actions »òÕß NSKeyValueObserving »Øµ÷½øÐÐ֪ͨ.
¹Û²âÕßÒÆ³ýʱÎÞÒì³£
¿ØÖÆÆ÷ dealloc ʱÒþʽµÄ¹Û²âÕßÒÆ³ý
ÌáÉýʹÓà NSKeyValueObservingInitial µÄÐÔÄÜ
Ḭ̈߳²È«²¢ÌṩÔÚ¹Û²âÕ߻ָ´Ê±¶îÍâµÄ±£»¤ Thread-safety with special guards against observer resurrection - rdar://15985376.
ʹÓ÷½·¨£º[code]// 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];
}];[/code]ÒªÇó£º
iOS 6 or later. OS X 10.7 or later .
Èí¼þÏêÇ飺https://github.com/facebook/KVOController
ÏÂÔØµØÖ·£ºhttps://github.com/facebook/KVOController/releases
À´×Ô:¿ªÔ´ÖйúÉçÇø

