-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した最後の行にも電話をかけます。これらのうちの1つだけを実行してください。

于 2012-10-18T15:10:04.817 に答える