我有一个叫做TagButton的uiButton和一个叫做TagsView的uiScrollView。
在我的内心
-(void)renderTags
方法,我做
[[self.tagsView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
…为了清理甲板,我走过一对叫做
allTags
和
activeTags
,或者为用户在应用程序中使用过的每个标签创建“LIT”和“UNLIT”按钮。到现在为止,一直都还不错。但是当我将新创建的ui按钮添加到我的视图中时,会发现:
[self.tagsView addSubview:tagButton];
[tagButton release];
…第一次,在视图上什么都没有发生,标签按钮没有出现。第二次我把同样的绳子放进去
-toggleTag
而不是
-createTag
,但结果是相同的渲染方法),我得到了控制台消息
modifying layer that is being finalized = 0x82b3ec0
.
如果我发表评论
[tagButton release]
不过,一切正常。那么,什么给予?我认为在超级视图中添加一个子视图可以使超级视图保留它。我不会再处理这个按钮了,除非下次我呈现标签列表时告诉它删除自己,所以看起来视图控制器应该释放它。