-1
A
回答
1
你几乎从不需要KVO。
只有当你需要一些特殊的东西,或者想要绕过苹果sw设计。
对于这种情况,你会发现演示代码,所以不用担心KVO太多。
+1
虽然我同意你很少需要KVO,但随着应用程序复杂性的增加,这是一个很棒的工具。我不会说它是“绕过苹果sw设计”的有用之处,因为如果你这样做,你可能做得不对。这是Apple提供的一种非常有用的自动通知技术。正确使用时,它是有效的,非常有用。但我同意一个新的开发人员通常不需要利用这个有点高级的功能。但是如果你正在编写你自己的setter(反正你很少这样做),我建议你调用KVO方法。 – Rob 2013-04-08 21:04:25
5
Key Value Observing提供的功能和行为对于开发人员来说是独一无二的,对于开发人员来说当然是有用的,在相同的情况下可以窥见不透明的值。例如,如果您想知道Cocoa中动画的精确持续时间,这是一个黑盒子(例如,键盘公开动画持续时间),KVO是我知道您可以建立的唯一途径那。
除此之外,它是涉及数据编程应用程序的有用模式(参见图)。因此,它是开发人员工具箱中的又一个工具。
没有它你能得到吗?当然。有许多工具可以不用,而且这个工具需要一点点努力才能将头部包裹起来。但是,你应该避免它?不,我不这么认为 - 你为什么?
相关问题
- 1. 我可以不'pushModalViewController'吗?
- 2. 我可以回去不使用ReSharper吗?
- 3. 我可以不使用多个NavDropdown吗?
- 4. 我可以用蓝牙吗?
- 5. 我可以使用PayPal吗?
- 6. 我可以只用ffmpeg吗?
- 7. 可可绑定和KVO
- 8. 我可以让csDoctrineActAsSortablePlugin不唯一吗?
- 9. 我可以让XCode UITableViewCellEditingStyle不偏移吗?
- 10. 我可以写'罪(不管)'吗?
- 11. KVO不适用于类别
- 12. KVO - observeValueForKeyPath不被调用
- 13. 我可以注册NSNotifications类吗?我可以在NSNotifications中使用类方法吗?
- 14. 我可以使用比较器而不实现可比较吗?
- 15. 我可以用layoutdialect使用spring thymeleaf吗?
- 16. 我可以用sshtunnel使用Python Peewee吗?
- 17. 我们可以禁用AOP调用吗?
- 18. 我可以用paramiko启用TCPKeepAlive吗?
- 19. 如果我不拥有sharepoint,我可以利用Sharepoint dll吗?
- 20. 我可以不用先提交我的工作目录吗?
- 21. 我可以使用我的RegularExpression属性而不是DataAnnotations吗?
- 22. 我可以或不可以在越狱iphone上开发吗?
- 23. 可以用()吗?
- 24. 定制Setter可以打破KVO模式吗?打破保留或复制模式?
- 25. 我可以制作TextInput吗?
- 26. 我可以依靠mod_rewrite吗?
- 27. 我可以扔流吗?
- 28. 我可以更改XmlReader.Settings吗?
- 29. 我可以停止IIS吗?
- 30. 我可以#ifdef #imports吗?
而KVO代表... – Undo 2013-04-08 20:45:39
@ErwaySoftware键值观察。值改变时的通知系统。查看:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html。我也不知道,必须查看它。 – 2013-04-08 20:46:43