2012-08-14 34 views
0

为什么要使用IBOutlets而不是绑定?IBOutlets与绑定

IB中的绑定看起来更简单。

IBOutlets能做什么绑定无法做到?

回答

1

绑定并不是网点的替代品,它们只是另一种连接UI某些方面的方式。也就是说,有很多事情绑定不是很有效,例如,执行NSTableViewDataSource将允许您处理(并且您会使用插座连接所述数据源)。此外,您不需要通过绑定获取与您的控制器进行交互的相关视图,但是您可以将它们与插座连接起来。从某种意义上讲,网点就是你如何组织你的对象 - 它们可能不会自己做很多事情,但它们提供的数据是你不得不周围挖掘的(通过子视图筛选一个给定标记的视图不会因为你有网点来简化你的整个过程,所以非常有趣并且真的很浪费精力)。

但我的主要观点是,你不应该把绑定当成网点的替代品 - 它们不是。绑定不能取代插座,插座不能取代绑定。绑定在一定程度上取决于网点,所以如果你愿意,你不能摆脱它们。另一方面,奥特莱斯只是在那里说什么去哪里。所以NSTextView去财产statusFieldNSTableView去财产messagesTableView

所以,再次,网点是组织,他们不只是你使用的东西,而不是绑定。

+0

谢谢。这完全回答了我的问题。 – 2012-08-16 05:03:38

+0

谢谢。这完全回答了我的问题,并导致了一个进一步的问题:除了硬拷贝示例代码之外,我怎么知道何时使用这一个或另一个?有没有任何标准? – 2012-08-16 05:10:01