【发布时间】:2024-04-28 21:50:01
【问题描述】:
使用 KVO 代替 NSNotifications 的更“通用”(而且我认为更强大)功能有什么优势吗?
【问题讨论】:
-
您认为 KVO 的哪一点不健壮?
-
我在回答中给出的Cocoa Builder link 很好地讨论了缺点。大多数问题源于您必须在单个函数中处理所有 KVO 通知这一事实,这在子类化时很脆弱。
-
好的,我不同意这一点。 KVO 在子类化时并不脆弱 - 使用 Selector 作为 Context 是一种技巧,而不是它的用途。
-
不带任何上下文的
removeObserver:forKeyPath:怎么样?如果我的班级及其子班级都想观察相同的路径并在不同的时刻停止观察怎么办? -
@hooleyhoop 我不介意单个处理程序,但keeping track of whether I'm observing an object is annoying。我仍然使用 KVO,但如果有 KVO 的自动引用计数 (ARC) 版本,我可能会使用它。
标签: ios cocoa-touch nsnotificationcenter key-value-observing