2016-11-30 109 views
-1

起初,我認爲nib只生成了子視圖(擁有所有者的目標對象實例,即視圖控制器)。Nib文件中包含哪些對象?

從我的理解(或誤解)視圖控制器(所有者)

現在實際上被包含在相同的筆尖文件時使用的出口。

這是否意味着視圖控制器和視圖都是'由'生成或由nib文件實例化?

感謝

+0

請不要一再詢問同一個問題。如果您的第一個問題不明確,請對其進行編輯。 – matt

+0

對不起,我以爲我刪除了另一個問題。 – user7024499

回答

1

筆尖由什麼,它的組成意味着無論你那裏。不過,從您的問題中可以聽出,您似乎可能在問故事板是如何工作的,因爲它們使用了不直接與之互動的筆尖。

在故事板中,每個場景由兩個組成 nibs:一個包含視圖控制器,另一個包含視圖控制器的視圖(及其子視圖和其他所有內容)。

xib文件表示視圖控制器的視圖,視圖控制器本身只是一個代理對象(文件的所有者);它不是從筆尖生成的,而是在筆尖加載時已經存在(這就是爲什麼它可以作爲文件的所有者)。這實際上也是故事板場景中的第二個nib文件的工作原理。

+0

從我剛剛閱讀的內容來看,我認爲可能是這樣的情況,如果你有一個已經存在的對象,你想成爲未來的所有者對象,那麼當你創建一個出口連接時,那個已經存在的對象實例現在'神奇地'變成除了nib文件之外。因此,即使所有者實例不需要存在的筆尖,它仍然會成爲筆尖的一部分,並且當筆尖加載時,您現在有兩個單獨的實例,一個是原始所有者對象,但現在它擁有一個新的屬性,指它擁有的實例。正確? – user7024499

+0

沒有魔法,它不會成爲nib文件的一部分。您是否閱讀過我的書中關於所有者和代理的章節?我在這裏用一個漂亮的圖表來解釋網點:http://www.apeth.com/iOSBook/ch07.html#_outlet_connections – matt

+0

感謝馬特,這張圖與我看過的圖有點不同,我會對此進行一番審視。非常感激! – user7024499

相關問題