iOS不支持Cocoa绑定有任何技术/概念上的原因吗?

Oli*_*one 34 cocoa-touch cocoa-bindings ios

Cocoa for Mac OS X支持Cocoa Binding技术,减少了视图与模型之间粘合代码的需求.

在cocotron源代码的帮助下,在KVO上在KVC上重新创建Cocoa绑定似乎是可行的.

Cocoa Bindings不属于SDK的任何技术或概念上的原因吗?我正在考虑性能,缺乏垃圾收集,缺少UI元素的KVC支持(例如UISlider).

Mik*_*lah 9

桌面上的绑定需要:

  1. 所有合适的UI组件,用于公开其重要属性的绑定
  2. 实施NSArrayController处理选择的基础设施

在iOS上,第2点变得不那么重要了.很难(甚至可能是糟糕的UI设计)拥有可以进行多项选择的主 - 细节视图布局.这是NSArrayController真正发挥作用的地方.

UITableView的绑定变得不太实用,因为当前NSArrayController设计不会延伸到多个部分,标题等.

点1将是有用的.但是,Apple需要大量工作才能在所有UIKit控件中实现绑定支持.我认为它永远不会成为他们实施的足够优先级.

  • 我经常将我的`@ properties`绑定到用于Mac OS X应用程序的UI中的复选框和文本字段...能够在iOS中执行此操作会很高兴.我觉得Apple可能没有包含它的原因可能是因为它们很难调试...当你搞砸Cocoa Binding时你得到的堆栈跟踪充满了SDK中的调用,这使得很难找到它你做错了什么 (5认同)
  • 迟到这个派对,但不要忘记NSTreeController.虽然你可能希望你能(ba-dum tish).实际上他们确实修好了.但我认为可以处理tableview部分.此外,当前在编辑模式下模拟多个选择.鉴于触摸界面的限制(没有修饰键),这就是我们所坚持的.但是我想当你想编辑一个过滤列表时,一个阵列控制器在iPad上会很棒,并带有主细节. (2认同)