正确删除对象(带代码示例)iOS

时间:2014-05-14 12:08:14

标签: ios application-lifecycle

以下代码(removeViews)是否正确删除了对象的引用,即删除它们,因此在调用方法Views时,我不会继续进行更多createViewscreateViews创建视图,removeViews将其设置为nil。 注意: 这是一个非常简单的例子,可以增强理解力,而不是用于实际目的。

-(void) createViews{
    UITableView * tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,0,200,200)];
    tableView.delegate=self;
    tableView.datasource = self;
    self.mainTableView = tableView;//self.mainTableView is a weak reference
    [self.view.superView addSubview: self.mainTableView];

    UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,400)];
    view.backgroundColor = [UIColor redColor];
    self.mainView = view;//self.mainView is a strong reference

    [self.view.superView addSubviews:self.mainView];

}

-(void) removeViews{
    self.mainView = nil;
    self.mainTableView=nil;



 }

1 个答案:

答案 0 :(得分:1)

首先将它们从superView中删除,然后将它们设置为nil

-(void) removeViews{
        [self.mainView removeFromSuperview];
        [self.mainTableView removeFromSuperview];
        self.mainView = nil;
        self.mainTableView=nil;
     }