簡體   English   中英

節目接收信號EXC_BAD_ACCESS

[英]Program received signal EXC_BAD_ACCESS

當我單擊具有代碼的完成按鈕時

UIBarButtonItem * button = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                                                                          target:self
                                                                         action:@selector(dismissView:)] autorelease];

self.navigationItem.rightBarButtonItem=UIBarButtonSystemItemDone;
[[self navigationItem] setRightBarButtonItem:button];
[button release];

-(void)dismissView: (id)sender

{

[self.navigationController popToRootViewControllerAnimated:YES];

}

應用程序崩潰並給出消息程序收到信號EXC_BAD_ACCESS

任何想法有什么問題。

感謝幫助。

這行是完全錯誤的:

self.navigationItem.rightBarButtonItem=UIBarButtonSystemItemDone;

去掉它。 之后,您要設置rightBarButtonItem ,也不UIBarButtonSystemItemDone rightBarButtonItemUIBarButtonSystemItemDone ,這根本沒有任何意義。

哦,您在釋放button 拆下[button release]; 也一樣

您過度釋放了按鈕。 您在分配/初始化時自動釋放它,然后在將其設置為導航項后再次釋放它。

您正在過度釋放button 第一行的+alloc調用已經由同一行的-autorelease平衡了, -autorelease您無需在其上調用-release

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM