【发布时间】:2011-12-25 22:27:24
【问题描述】:
我想在点击按钮时动态加载视图。
假设视图是“MyView”
我把它声明为
IBOutlet UIView *myView;
并通过 myView.xib 制作的界面构建器连接它。
我没有为此视图设置属性和合成
现在我想要的是在单击按钮时为该视图分配内存
所以我尝试了我的 viewController 的按钮按下方法
(void) buttonPressed1{
myView = myView = [[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil] objectAtIndex:0];
myView.frame = CGRectMake(30, 40, 200, 200);
[self.view addSubview:myView];
}
已成功加载。 :)
现在我想通过单击其他按钮访问此视图..
所以我写了
-(IBAction) buttonPressed2:(id)sender
{
myView.alpha = 0;
[myView release];
}
所以当我运行它时 --- 它工作正常
在 buttonPressed 上,它会在其他点击时添加该视图,它会淡出并释放该视图。
但是现在当我再次点击按钮添加视图时,它会说
modifying layer that is being finalized - 0x6807b60
然后在单击按钮 2 时,它会崩溃...
基本上我的要求是仅在使用后将该视图保留在内存中,应该将其释放..
上面的方法是好的,或者还有其他方法可以做到这一点......
那个错误是什么意思????
!更多查询是
在上述情况下......
myView 的内存是在运行时通过单击按钮 ????.... 分配的
当我在 xcode 中通过仪器进行测试时,点击按钮时图表中没有显示分配...
所以请帮帮我...
请帮忙..
提前致谢
【问题讨论】:
标签: iphone uiview memory-management