cocoa-touch - iOS 不支持 Cocoa 绑定(bind)有什么技术/概念上的原因吗?

标签 cocoa-touch ios cocoa-bindings

<分区>

Cocoa for Mac OS X 支持 Cocoa Binding 技术,减少了 View 和模型之间的胶水代码需求。

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

Cocoa Bindings 不是 SDK 的一部分是否有任何技术或概念上的原因? 我在考虑性能、缺乏垃圾收集、缺乏来自 UI 元素(例如 UISlider)的 KVC 支持。

最佳答案

桌面上的绑定(bind)需要:

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

在 iOS 上,第 2 点不再是问题。可以进行多项选择的主从 View 布局很少见(甚至可能是糟糕的 UI 设计)。这就是 NSArrayController 真正发挥作用的地方。

UITableView 的绑定(bind)变得不太实用,因为当前的 NSArrayController 设计没有扩展到多个部分、标题等。

要点 1 会很有用。然而,Apple 需要做大量工作才能在所有 UIKit 控件中实现绑定(bind)支持。我认为它永远不会成为他们实现的足够高的优先级。

关于cocoa-touch - iOS 不支持 Cocoa 绑定(bind)有什么技术/概念上的原因吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4706247/

相关文章:

ios - iAD - adBannerView 旋转

ios - 如何将项目导入 Xcode

ios - BadgeValue不能在UITabBarItem上更新

cocoa - 基于 NSTableView View 中的 NSPopupButton : getting bindings to work

nstableview - 绑定(bind)空占位符未在基于 View 的 NSTableView 中翻译

objective-c - 弹出其他 View Controller 时如何更改弹出 View 大小

ios - iOS7 中一致的后台获取?

ios - 无法更改 UILabel 中的字体大小

ios - Xcode为什么说“未声明UTF8Encoding”?

objective-c - 如何将静态 NSFolder 图像添加到 cocoa 绑定(bind)表