AliSoftware / AliSoftware/KeyPathObserver

Inheritence support

未關閉
#1 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Objective-C
星號
5
分支
2
PR 合併指標
30 天內沒有已合併 PR

描述

If you observe a given keyPath in a class A, and observe the very same keyPath in a subclass B of the class A, the block set in class B will override the one in class A.

It won't be possible to call the superclass observer block when you override it in a subclass.

_Note that the standard Apple KVO mechanism has the same issue_

**Possible Fix:** associating to the keyPath not directly the blocks to execute but an NSMutableDictionary that holds the blocks for each class in the object's class hierarchy should solve the problem. When trying to call the block, we will search blocks by going bottom to top in the class hierarchy, thus calling the blocks associated with the current class, then its superclass if any, then its supersuperclass, and so on.

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。