2012-02-18 61 views
0

根據蘋果的文檔的UIViewnextRepsonder屬性返回連接的UIViewController:爲什麼Montouch不保留從UIView到UIViewController的託管引用?

https://developer.apple.com/library/ios/#documentation/uikit/reference/UIResponder_Class/Reference/Reference.html

如果我看UIView.h SDK 5中,我可以看到以下內容:

UIViewController *_viewDelegate; 

對我來說,這意味着:雖然蘋果告訴我們,他們不耦合,他們真的是,但我們不應該知道,也不在乎。

但如果非管理世界上存在着一個參考,不應MonoTouch的再抱一個管理的參考,也?

在保持課堂參考級別方面,它不會簡化很多事情嗎?它不會減少GC'ed視圖控制器引起的常見陷阱嗎?

回答

0

但如果非管理世界上存在着一個參考

這種假設可能是錯的(測試將證明這一點,如果你懷疑的文件),因爲具有字段沒有提供足夠的證據來狀態在本地提供參考。

畢竟ObjectiveC沒有使用垃圾收集器,即它的引用計數(即使用ARC)。所以,簡單地具有類型定義的字段,並不意味着它保持了參考(如.NET/GC世界)的UIView,也就是說,如果它不是retain版則計數沒有增加......

那豈不是簡化了很多東西與問候在職業等級保持引用?它不會減少GC'ed視圖控制器引起的常見陷阱嗎?

我敢肯定不是100%我明白你的意思。你能舉一個例子來支持它嗎?

+0

對於控制器視圖作爲子視圖添加到另一個視圖的本地控制器實例,控制器可能會被收集。這是Monotouch中的典型陷阱。如果視圖持有裁判,這不會發生。 – Krumelur 2012-02-19 17:09:35

相關問題