2012-11-13 36 views
0

我在我的支持ARC的項目中有一個筆尖,它包含兩個頂層的UIViews。其中一個是主要觀點,並像往常一樣將它與筆尖的所有者view連接,作爲一個弱點參考。nib加載程序只保留nib中的第一個頂級UIView?

第二個頂級UIView已連接到文件所有者中的另一個屬性。如果我還將該屬性定義爲weak,系統似乎立即釋放它 - 因此似乎nib加載程序僅將nib文件中的第一個和主要的UIView保留。這是否正確,如果有的話,是否有任何文件支持?我一直在尋找確認,但在Apple文檔或堆棧溢出的任何地方找不到它。

我正在運行Xcode 4.5.2。

回答

3

我不認爲筆尖加載機制對任何對象都沒有特別的作用。它遵從任何連接定義的屬性規範。例如,UIViewControllerview物業說:

@property(nonatomic, retain) UIView *view 

nib documentation,上面寫着:「奧特萊斯一般應薄弱,除了那些從文件的所有者到頂級對象在筆尖文件(或者,在iOS,一個故事板場景),應該是強大的。「我相信現在OS X和iOS都是一致的。

當我閱讀它時,這意味着您要負責創建一個強引用任何尚未由框架處理的頂級對象的強屬性。

+0

謝謝菲利普,好資料!只是沒有考慮保留UIViewController中的視圖屬性。 – occulus

+0

當然,所有非頂級項目都由其父項組件保留下來,因此可能很弱。 – occulus