我不太确定Cocoa Bindings和IBOutlets / IBActions之间的根本区别。我目前正在将Obj-C项目迁移到Swift 3,我想知道使用绑定是否是常见做法,尤其是在Swift中?一般来说,关于绑定的社区讨论很少,我是Cocoa / CocoaTouch dev的CS学生,所以我会很感激冗长的答案。
答案 0 :(得分:2)
首先,Cocoa Touch不支持Cocoa绑定,但仅由Cocoa支持。由于软件开发的重点是移动设备,Cocoa绑定变得不那么有名了。但是,您可以在键值观察之上实现绑定。问题是,是否值得。重要的是关键价值观察。
此外,Cocoa绑定是反应式编程的实现。在移动平台上,这样做的压力小于桌面上的压力,因为用户界面更具模态性。#/ p>
关于Swift,如果没有特殊的语言特性和Objective-C的动态运行时环境,就不可能实现KVO和Cocoa绑定。在运行时创建类,从字符串构建选择器等。所有动态的东西斯威夫特都讨厌并试图做出不必要的东西。所以你可以称之为“不知情的”#34;然而,它是可可的生活部分,除了意识形态的原因,我看不出,为什么你应该放弃它。