Fix KVO that breaks if a target object overrides 'isEqual' and 'hash'#361
Fix KVO that breaks if a target object overrides 'isEqual' and 'hash'#361tutuming wants to merge 12 commits into
Conversation
|
This makes sense and I believe it shouldn't cause any trouble (tests fail for an unrelated reason, #359). But I would like to get someone else to look at it - @colinta or @markrickert? I believe it will remove a strong reference to the |
|
The strong reference to I think it should be merged, with a good explanatory email to the group about the change. |
|
So yeah it looks like |
|
Thanks for your reviews! |
|
@tutuming can you merge with the master branch again and ensure that the tests pass on travis? thanks! |
- 'bubble-wrap/http' is now deprecated and will be removed in 2.0, see rubymotion-community#308 + `BW::UIActivityViewController` wrapper added, see rubymotion-community#335 + `BW::NetworkIndicator` added, see rubymotion-community#349 + `BW::Location.get_compass` & `BW::Location.get_compass_once`see rubymotion-community#348 + `NSString#to_color` ARGB support, see rubymotion-community#350 + `Object#method` support for `BW::Reactor`, see rubymotion-community#359 * Prevented a possible exception when stopping `BW::Location`, see rubymotion-community#358 * Fixed a bug when requiring just 'bubble-wrap/ui'
NSDictionary's key is compared by key object's hash.
In BW::KVO targets are held as dictionary's key.
So if target objects' class override 'hash' (and 'isEqual'), KVO doesn't work collectly.