
第十章
Cocoa 繫結
目前為止,在這本書裡,我們已經詳細討論過模型—視圖—控制器的設計模式在 Cocoa
與 Cocoa Touch 裡如何運作,以及將應用程式的程式碼分成不同責任區域為何能夠產生
容易管理的程式碼基礎(codebase)。
然而,有時候,撰寫獨立的模型、視圖、及控制器看起來可能好像殺雞用牛刀,特別
是,當控制器需要做的事情只是從模型直接將資訊傳遞給視圖時(反之亦然)。在許多
情況中,你想要產生的行為只是用標籤展示儲存在模型物件裡的資訊。
為了解決這個問題,Apple 引進 OS X 裡的
繫結機制
(
bindings
)。繫結是視圖與物件之
間的連結,在當中,物件的內容被用來直接驅動視圖的展示內容。繫結意味著你能夠撰
寫較少的程式碼,並且完成同樣出色的功能。
在這一章裡,你將學習如何使用繫結機制,將你的介面直接連結到資料。你也會學到如
何使用 Apple 提供的內建控制器類別來管理物件群集(collection)。在本章結束時,你
將建構出精緻且引人注目的應用程式,同時撰寫最少量的程式碼。
繫結機制僅於 OS X 上有支援。iOS 開發者,抱歉啦﹗
把視圖和模型繫結起來
繫結只是讓你告訴視圖它的內容來自何處的一道指示,有點像是說,「好吧,文字欄
位,你要顯示的文字來自這邊這個物件,如果它發生改變,就更新你自己吧!同樣地,
當你發生改變時,請通知該物件更新它所儲存的文字。」
163
164