4 ms·
This is a useful collection of links. One point of note, Facebook's solution doesn't rely on swizzling. Much like THObserversAndBinders, KVOController ties obse
by kimon 13y ago
This is a useful collection of links. One point of note, Facebook's solution doesn't rely on swizzling. Much like THObserversAndBinders, KVOController ties observation to the controller scope.
We use a shared controller instance, that acts as a receptionist for all KVO notifications, as well as a weak reference to the observer, in order to safely allow observer removal on dealloc.
- seivan 13y agoAh, thanks for correcting me. I didn't have time to go through it yet. https://github.com/facebook/KVOController#usage https://github.com/facebook/KVOController#usage By controller does the readme refer to the KVOController instance? I assume this is a property on the class that uses it, and once the class gets dealloced, its observer also get dealloced? FBKVOController Hmm... I think this is a much better idea! Much cleaner than what I current got going, but then again we don't offer the same api. Thanks for correcting me!
- kimon 13y agoCorrect. Add a strong reference from observer to KVOController instance via a property or instance variable and you've achieved un-observation on observer dealloc :) This usage pattern is quite common. We'll look into calling this out more explicitly in the readme. Thanks for the feedback!