
圖形使用者介面
|
75
圖 5-1 nib 檔內含使用者介面
nib 檔透過將物件「冷凍乾燥」(“freeze-drying”, Apple 的術語)並以序列化的形式將
它們儲存在檔案中的方式來運作,物件的所有特性(例如,就按鈕而言,它的位置、標
籤文字和其他資訊)被儲存在 nib 檔裡。當應用程式需要展示視窗時,它載入 nib 檔,
將儲存在裡頭的物件「加水還原」,並且把它們呈現到使用者眼前。
這表示,為求實際,在 Xcode 的 Interface Builder 裡組裝的視圖與畫面,和出現在螢幕
上的物件完全相同。
因為 nib 檔單純包含物件,它們也可以包含你自己的類別的實例。因此,你可以建立載
入 nib 時所建立之類別的實例,並且將它連接到你的視圖。
單單視圖本身並不是十分有用,除非你想要建立的應用程式純粹只是為了呈現一些可點
擊的按鈕或者輸入文字的文字欄位。假如想要建立實際回應使用者輸入的應用程式,你
必須將視圖連結到你的控制器—也就是,你的應用程式的程式碼。
Interface Builder 提供兩種方式將視圖連結到程式碼︰
Outlet
(
接口
)與
Action
(
動作
或
操作
)。本章稍後會更仔細地討論這兩個觀念。
nib 檔的結構
nib 檔包含物件樹,這個樹狀結構可以有多個根元素(root) —例如,nib 檔可能包含
兩個視窗,每個視窗各有各的按鈕及控制項群集。這些位在樹狀結構頂端的物件被稱作
「頂層物件」(top-level object)。
頂層物件通常是呈現給使用者的可見事物— OS ...