-1
我有這樣的代碼來顯示一個子視圖,並刪除它:IOS:刪除子視圖,當我鍵入它
if(view1 == nil){
view1 = [[Calendar alloc] initWithNibName:@"Calendar" bundle:nil];
[view1 setDelegate:self];
[self.view addSubview:view1.view];
view1.view.frame = CGRectMake(250, 0, 550, 400);
}
其刪除:
[view1.view removeFromSuperview];
view1 = nil;
[view1 release];
它做工精細,當我推這個子視圖中的按鈕「view1」,但如果我輸入這個視圖,也可以刪除這個視圖?
你是什麼意思輸出?在view1被釋放後設置view1 = nil。首先將它設置爲零然後釋放沒有好的效果。 – taskinoor 2011-05-26 13:50:46
輸入該視圖? – onnoweb 2011-05-26 13:51:00
您的代碼中存在一些內存管理問題。在將其分配爲子視圖後,您應該釋放視圖,然後不要擔心在後面的代碼中釋放視圖。現在你正在調用'view1 = nil'在調用發佈之前,你只需要將發佈發佈到什麼都沒有。 – Dancreek 2011-05-26 13:53:03