IBOutlets与绑定

时间:2012-08-14 04:34:35

标签: objective-c binding iboutlet

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

IB中的绑定似乎更简单。

IBOutlets可以做什么绑定不能做什么?

1 个答案:

答案 0 :(得分:1)

绑定不是插座的替代品,它们只是将UI的某些方面挂钩的另一种方式。也就是说,有很多东西绑定对它来说不是很有效,例如,实现NSTableViewDataSource将允许你处理(并且你使用插座连接所述数据源)。

此外,您不打算通过绑定获取控制器与之交互的相关视图,但您可以将其与插座连接起来。在某种意义上,出口是你如何组织你的对象 - 他们可能不会自己做很多,但他们提供的数据,否则你将不得不挖掘(通过给定标签的视图的子视图筛选不会非常有趣,并且真的是浪费精力,因为你有出口来简化你的整个过程。)

我的主要观点是,您不应该将绑定视为插座的替代品 - 它们不是。绑定不能替换插座和插座不能更换绑定。绑定在一定程度上依赖于出口,所以如果你愿意,你无法摆脱它们。另一方面,奥特莱斯就是在那里说什么。因此,NSTextView位于属性statusField中,而NSTableView位于属性messagesTableView中。

所以,再次,出口是组织,它们不仅仅是你使用的东西而不是绑定。