为什么要使用IBOutlets而不是绑定?
IB中的绑定似乎更简单。
IBOutlets可以做什么绑定不能做什么?
答案 0 :(得分:1)
绑定不是插座的替代品,它们只是将UI的某些方面挂钩的另一种方式。也就是说,有很多东西绑定对它来说不是很有效,例如,实现NSTableViewDataSource
将允许你处理(并且你使用插座连接所述数据源)。
此外,您不打算通过绑定获取控制器与之交互的相关视图,但您可以将其与插座连接起来。在某种意义上,出口是你如何组织你的对象 - 他们可能不会自己做很多,但他们提供的数据,否则你将不得不挖掘(通过给定标签的视图的子视图筛选不会非常有趣,并且真的是浪费精力,因为你有出口来简化你的整个过程。)
我的主要观点是,您不应该将绑定视为插座的替代品 - 它们不是。绑定不能替换插座和插座不能更换绑定。绑定在一定程度上依赖于出口,所以如果你愿意,你无法摆脱它们。另一方面,奥特莱斯就是在那里说什么。因此,NSTextView
位于属性statusField
中,而NSTableView
位于属性messagesTableView
中。
所以,再次,出口是组织,它们不仅仅是你使用的东西而不是绑定。