为什么Montouch不保留从UIView到其UIViewController的托管引用?

时间:2012-02-18 18:51:52

标签: uikit xamarin.ios

根据Apple的文档,nextRepsonder的{​​{1}}属性返回连接的UIViewController:

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

如果我查看SDK 5的UIView.h,我可以看到以下内容:

UIView

对我而言,这意味着:虽然Apple告诉我们他们没有耦合,但他们确实是,但我们不应该知道,也不关心。

但是如果非托管世界持有引用,那么Monotouch也不应该持有托管引用吗?

在课堂上保留参考资料会不会简化很多事情?它不会减少由GC控制的视图控制器引起的常见陷阱吗?

1 个答案:

答案 0 :(得分:0)

  

但如果非托管世界持有参考

这个假设可能是错误的(测试会证明它,如果你怀疑文档)因为有一个字段没有提供足够的证据来陈述在本机方面的引用。

毕竟ObjectiveC没有使用垃圾收集器,即它的引用计数(即使使用ARC)。因此,简单地在类型定义中包含一个字段并不意味着它将引用(如在.NET / GC世界中)保存到UIView,即如果它不是retain然后,计数没有增加......

  

在课堂上保留参考资料会不会简化很多事情?它不会减少由GC控制的视图控制器引起的常见陷阱吗?

我不是百分百肯定我理解你的观点。你能用一个例子来支持吗?