2009-09-11 58 views
0

我为XIB创建了UIView和UILabel插座。在第一次加载是罚款,然后我执行removeFromSuperview删除该UIView并再次调用addsub再次显示UIView。但是当我试图像setText方法一样再次访问UILabel时,该应用程序将崩溃。你认为它关于removeFromSuperview?访问UILabel对象崩溃

感谢 sasayins

回答

1

removeFromSuperview释放的UIView。如果UIView的retainCount命中零,那么它将被释放并释放UIView的子项。如果UILabel位于UIView上,它也会被释放。在调用addView之前,必须重载UIView。你必须手动加载它。

尝试调用

[[NSBundle mainBundle] loadNibNamed:@"name of your XIB file" owner:self options:nil]; 

你打电话之前addView。如果您调用loadNibNamed,则还应该能够在addView之前或之后设置UILabel。

当然你的问题可能是别的,特别是如果你的UIView被保留。

尝试运行Xcode调试器并逐步完成代码。

+0

是的,我的UIView保留在@property。当我调用IBOutlet UILabel的setText时,我追踪了崩溃。其奇怪的是IBOutlet UILabel不是零。谢谢 – domlao 2009-09-11 06:51:36