文件的所有者是代理或替身將被識別的實際對象的時候,筆尖加載。 [編輯。我應該注意到「nib」是接口文件的舊學期。 xib是新的名字。當你的項目被構建時,其實xib文件會被編譯成nib文件。請原諒我,如果我有點老派,並且可以互換使用nib/xib]您可以選擇在您的界面文件中使用視圖控制器作爲「文件所有者」。使用它可能是這個樣子:
class MyViewController : UIViewController {
@IBOutlet loadedView : UIView!
func loadMyInterface() {
// load the nib with myself as the "Files Owner". If the nib file is set up properly
// shoudl set the "loadedView" outlet on this object
Bundle.mainBundle.loadNibNamed("MyLoadedView", owner: self, options: nil)
}
}
在此代碼段,我有loadedView
出口。當我的視圖控制器被創建時,這將是nil
。然後在執行我的程序時,我打電話給loadMyInterface
。該例程將要求主包加載接口文件「MyLoadedView」。請注意,在這一點上,我告訴系統什麼對象「文件的所有者」代表。由於我已將我的視圖控制器識別爲owner
,因此界面文件中爲文件所有者標識的任何插座都將連線到該視圖控制器。
此外,您可以在視圖控制器類上定義Actions並將它們連接到界面構建器中的「文件所有者」,並在lib被加載時將它們定向到視圖控制器。
請注意,然而,這只是因爲我已經加載了筆尖時將我的視圖控制器識別爲owner
。我可以很容易地設置任何其他對象作爲文件的所有者,並指示業主的出口和行動應該去那裏。