我在以下代码的添加目标行中发现了内存泄漏,我正在正确地释放ui按钮我不知道为什么会发生这种情况。
UIButton *btnProjectName = [[UIButton alloc]initWithFrame:CGRectMake(20, 10, 170, 40)];
btnProjectName.backgroundColor=[UIColor clearColor];
btnProjectName.tag=obj.tagNo;
[btnProjectName addTarget:self action:@selector(projectName_Clicked:) forControlEvents:UIControlEventTouchUpInside];
/* ... */
[btnproject release];
答案 0 :(得分:0)
我不知道你写/* ... */
的地方会发生什么。那里可能隐藏着一个返回语句。在这种情况下,它会导致泄漏。这将处理这种情况。
UIButton *btnProjectName = [[[UIButton alloc]initWithFrame:CGRectMake(20, 10, 170, 40)] autorelease];
同时删除底部附近的[btnProjectName release];
。
如果是新的Xcode项目,请考虑使用ARC。