0

[super dealloc]クラスで使用しない場合、iPhone アプリは承認されますか?

ここでは、次のビュー コントローラーを呼び出します。

-(void) thumbClicked:(id) sender {

//NSArray *temp = self.mediaRecords ;
UIButton *button = (UIButton *) sender;
if([self.mediaRecords count] > 0) {
    DetailViewViewController *detailView = [[DetailViewViewController alloc] initWithNibName:@"DetailViewViewController" bundle:nil];
    detailView.mediaArray = self.mediaRecords;
    detailView.mediaThumbs = mediaThumbs;
    detailView.currentThumbTag =  button.tag;
    detailView.tabType = currentTabType;
    detailView.hidesBottomBarWhenPushed = YES;

    detailView.navCon = navController;
    detailView.cell = self;

    detailView.currentCellFrame = self.frame; 
    [navController pushViewController:detailView animated:YES];
} else {
    [CarboUtil alertWithMessage:NO_DATA_MESSAGE];
}


[detailView release];

}

これがデロックです

- (void)dealloc {
    //
    LogInfo (@"Media Detail View Dealloc -- START");

    [navBar release];
    [shareView release];
    [toolBar release];
    //[category release];
    //[mediaThumbs release];
    //[mediaArray release];
    [storyWebView release];
    [buttonBorderArray release];

    [fontSizeButton release];
    [facebookButton release];
    [tweeterButton release];
    [emailButton release];
    [commentsButton release];
    [textonlyButton release];
    [saveButton release];
    [fbAgent release];
    [queue release];
    [mediaListData release];

    [super dealloc];
    LogInfo (@"Media Detail View Dealloc -- END");
}

しかし、この場合、dealloc は呼び出されません。手動でビューを解放する必要があり、手動でそれを行うとクラッシュしましたsuper dealloc

4

1 に答える 1

4

その可能性は十分にあるが、それは非常にばかげた行為だろう。アプリはふるいのようにリークする可能性があります。つまり、大量のメモリ警告が表示される可能性があり、アプリがかなりクラッシュする可能性があります。

つまり、メモリ管理のルールを学びます。それらはそれほど複雑ではありません。

于 2011-03-29T05:07:43.300 に答える