在我的iPad App中,
我有一个从UIButton继承的自定义类。
我使用for循环动态添加主视图上的按钮。
此按钮也有标签。
我的问题是何时发布自定义类的对象。
for(NSMutableDictionary *dict in Categories)
{
Category *category=[[Category alloc] initWithName:[dict valueForKey:@"category_name"] identity:[[dict valueForKey:@"category_id"] intValue] imageName:nil];
category.lblimagesCount=[[UILabel alloc] initWithFrame:CGRectMake(category.frame.size.width-31, category.frame.origin.y-42, 26, 26)];
[category addSubview:category.lblimagesCount];
[self.viewHeader addSubview:category];
[category release];
category=nil;
}
如何避免内存泄漏。 尤其是给 标签 2.分类。
在哪里写发布?
我。类别类(UIButton)具有dealloc方法,但从不调用它。
II。当我将其添加到子视图后立即将其释放时,它是否会影响我的按钮点击。
III。我应该何时发布标签。
对内存管理非常困惑。
答案 0 :(得分:3)
我会回答你的问题:
<强>我。类类(UIButton)具有dealloc方法,但从不调用它。 因为它没有完全释放,请参阅问题ii。
<强> II。当我在将其添加到子视图后立即将其释放时,它是否会影响我的按钮点击。 不,因为您的子视图现在是该按钮的所有者,当您将其添加到子视图时,您和子视图都是所有者,当您释放时,该按钮现在由subView拥有。
<强> III。我应该何时发布标签。 只要您将其添加到子视图中,原因与问题ii相同。
如果你不理解,我会很乐意澄清。