我对Cocoa非常陌生,我正在Xcode 4.5中开发一个普通Cocoa桌面应用程序。我需要在NSComboBox中显示值,我必须从NSComboBox检索,但是限制是我不应该绑定到IBOutlet。
如果我们想要使用数组控制器,我们可以使用NSArrayController,但不能使用IBOutlet。
有人会建议我如何在不使用IBOutlet的情况下完成这个任务吗?
我不想使用IBOutlets,因为:
IBOutlet(如果您正在处理小项目,您可以使用它,但是当我们实现更大的项目时,您可能会创建大量的IBOutlets,这将无助于从文本字段访问值。
如果您使用绑定而不是IBOutlet,那么处理UI很容易,让我们假设您有一个带有链接arrayController的表。当与数组控制器链接的数组被修改时,自动更改将反映在tableView中,您不必费心地更新tabelView,如果使用IBOutlet,我们就必须抓取头来更新内容。无论何时修改数据,我们都会在tableView中显示。IBOutlet的代码,我们就会编写代码来处理视图、更新视图等等,以防我们使用绑定自动更新它。据我所知。良好的实践,如果我们使用绑定。
IBOutlet只是增加了代码的长度。
谢谢你提前..。
发布于 2013-03-05 21:20:47
您需要设置组合框委托来处理comboBoxSelectionDidChange方法。
http://www.cocoabuilder.com/archive/cocoa/221619-detecting-when-nscombobox-text-changed-by-list.html
https://stackoverflow.com/questions/15198331
复制相似问题