我知道什么时候使用哪个,但我仍然不清楚确切的用法。有人可以举例说明吗?
最佳答案
如果您只想与一个对象对话,请使用委托(delegate)。例如,tableView 有一个委托(delegate) - 只有一个对象应该负责处理它。
如果您想告诉所有人发生了某事,请使用通知。例如,在内存不足的情况下,会发送一条通知,告诉您的应用程序存在内存警告。因为您应用中的许多对象可能想要降低它们的内存使用量,所以这是一个通知。
我认为 KVO 根本不是一个好主意,尽量不要使用它,但是,如果你想知道属性是否发生了变化,你可以监听变化。
希望对您有所帮助。
关于iphone - KVO vs NSNotification vs 协议(protocol)/代表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7864838/