我在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];
我该如何纠正这个问题?
感谢您的帮助
答案 0 :(得分:2)
UILabel * label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,45,45)] autorelease];
而不是发布
[label release];
这显然是错误的。您可以使用自动释放或发布。
答案 1 :(得分:2)
你正在过度发布标签。您在发布的第一行中调用autorelease
,然后在发布的最后一行中调用release
。只做其中一个。