我有一些UILabels,它们已被声明为属性并合成。我将这些标签隐藏在viewDidLoad
.经过一些计算,当我尝试使用 hidden
属性取消隐藏它们时,应用程序崩溃并出现主题中提到的错误。我试图NSLog
知道它是否已被释放,但它向我展示了标签的良好值。请有人帮助我,当我正常访问它时内存管理问题在哪里。谢谢。
显示一些代码以供参考:
在 .h 文件中:
@interface abc : UIViewController{
UILabel *value;
}
@property(nonatomic,retain) IBOutlet UILabel *value;
在 .m 文件中:
@synthesize value;
-(void) viewDidLoad
{
value.hidden = YES;
}
-(IBAction) calculate:(id)sender
//On some button click, assign some value to label and unhide it
NSLog(@"%@",value); //perfectly OK
value.hidden = NO; //throws exception here
}
错误是因为标签正在发布并分配给NSString
。检查如何为标签设置值。您应该为UILabel
分配一个NSString
,这会导致它在参数上调用隐藏属性时引发此错误value
。