2013-03-04 33 views
0

我對Cocoa非常陌生,我正在Xcode 4.5中開發一個正常的Cocoa桌面應用程序。我有要求顯示NSComboBox中的值,我必須從NSComboBox檢索,但限制是我不應該對IBOutlet進行綁定。綁定到NSComboBox

如果我們想要我們需要任何使用陣列控制器,我們可以使用NSArrayController s,但不能使用IBOutlet s。

是否有人建議我如何執行此任務而不使用IBOutlet s。

我不想用,因爲IBOutlet S:

  1. 它減少了代碼:假設我們在UI 15個文本字段,所以你需要有15 IBOutlet秒(如果你是在小項目上工作,你可以擁有它,但 當我們實現更大的規模的項目,你可能最終產生噸IBOutlet小號 ,它什麼也不做其他然後幫助從文本字段訪問 值。

    如果使用捆綁而不是IBOutlet,處理用戶界面很簡單,我們假設你有一個鏈接arrayController的表。當數組被修改時,你與數組Controller連接,自動修改會反映在tableView中,你不需要更新tabelView,如果我們使用IBOutlet,我們不得不劃傷腦袋去更新內容。無論何時修改我們在tableView中顯示的數據。

  2. 讓開發人員的生活變得簡單:如果我們使用綁定,綁定對象發生的任何變化立即反映在UI中,我們不必擔心UI的更新。易於理解的代碼:如果我們不必要地使用IBOutlet,我們最終將編寫代碼來處理視圖,更新視圖等,以防我們自動使用綁定時更新。

據我說。好的做法,如果我們使用綁定。

IBOutlet s只是增加了代碼長度。

預先感謝您...

+0

在哪裏檢索文本字段中的值? – 2013-03-04 09:44:03

回答

1

步驟如何綁定:

  1. 繪製NSComboBox和將被結合到組合框的NSTextField。

  2. 在組合框中添加來自Interface Builder的項目。

  3. 選擇組合框。按住Ctrl並拖動到NStextField /標籤並選擇 takeStringValueFrom

就是這樣!

現在您可以構建&運行並檢查組合框中的選擇更改是否在文本框中可見。

+0

但要做到這些,我們必須隱藏該用戶的標籤或文本顯示,是不是有其他方式來解決我的問題? – user2118335 2013-03-04 11:13:54

+0

你爲什麼要隱藏?你想在標籤上展示什麼? – 2013-03-04 11:14:57

+0

我的要求是,我有2個組合框。根據第一個組合框的值,第二個組合框的值應該加載。 – user2118335 2013-03-04 11:27:07