-1

我有以下代码viewDidLoad(在导航栏中设置标题)因“发送到已释放实例的消息”错误而崩溃:

UILabel * label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,45,45)] autorelease];

label.textColor = [UIColor whiteColor];
label.backgroundColor=[UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:20];
label.font = [UIFont fontWithName:@"Mayfield Regular" size:15];
self.navigationItem.titleView = label;

label.text=@"SEARCH"; //CUSTOM TITLE
[label sizeToFit];
[label release];

我该如何解决这个问题?

谢谢你的帮助

4

2 回答 2

2
UILabel * label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,45,45)] autorelease];

而不是释放

[label release];

这显然是错误的。您要么使用自动发布,要么使用发布。

于 2012-10-18T15:09:54.770 回答
2

您正在过度释放标签。你打电话给autorelease你发布的第一行,然后你也打电话给release你发布的最后一行。只做其中之一。

于 2012-10-18T15:10:04.817 回答