2011-03-22 61 views
4

我需要帮助Apple's ScrollViewSuite的代码;具体而言,我正在查看ThumbImageView类,该类没有定义dealloc方法。我在.h中看到imageName的属性使用了保留。Apple的Scroll View Suite示例代码是否存在泄漏?

(我不知道如果我被允许张贴任何代码,因为它是苹果的,所以请让我知道如果我能/应该。)

  1. 无论如何,我想,如果我们用“保留“我们负责释放对象引用。

  2. 方法CreateThumbScrollViewIfNecessary(来自RootViewController实现文件)有一个for循环,它分配ThumbImageViews,设置委托,然后在将thumbview作为子视图添加滚动视图后,继续释放thumbview。如果真的被释放这些对象,如何委托做当图像被窃听,滚动其工作通知等

对不起,我只是很困惑。任何帮助将不胜感激。

+2

要么把你正在谈论的代码的链接,或更好的代码本身......?不要以为每个人都会拥有所有的代码...或者人们会从苹果网站搜索该代码并下载它以帮助您... – 2011-03-22 04:40:33

+0

对不起mihir,我不确定是否允许我粘贴Apple代码(这就是为什么我问我的问题)。我将粘贴代码。 – Valerie 2011-03-22 13:44:52

回答

2
  1. 您有责任清除对象引用。据我所知,如果该属性曾被分配一个值,那么苹果的代码将会泄漏
  2. 任何视图保留其子视图。在将每个视图添加到滚动视图后,创建该视图的类将不再使用它,因此它将释放其引用。该对象实际上不会被释放,直到scrollview也释放它的引用,所以这些视图仍然是“实时”的并且能够发信号给它们的代表,直到发生这种情况。
4

代码泄漏。不幸的是,苹果的示例代码通常会留下很多不足之处,设计经常很糟糕,并且存在泄漏和故障。最好仅将它作为注释的API参考,以显示API的各个部分如何配合在一起,仅此而已。