【ios】收到系统内存警告时,应如何释放内存

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];

    if (_userInfoViewCtl != nil && [_userInfoViewCtl isViewLoaded]) {
        if (_userInfoViewCtl.view.window == nil) {
            self.userInfoViewCtl = nil;
        }
    }
}

  

-(KEUserInfoViewController *) userInfoViewCtl
{
    if (!_userInfoViewCtl) {
        _userInfoViewCtl = [[KEUserInfoViewController alloc] init];
    }
    return _userInfoViewCtl;
}

  

 

注意_userInfoViewCtl和self.userInfoViewCtl的用法

这样做的原因是属性的延迟加载,若 _userInfoViewCtl.view.window 这里使用self.userInfoViewCtl.view.window的话,那么这个值一直都不会是nil,因为每次都用都会创建

 

posted @ 2016-05-09 18:02  kaysun5230  阅读(304)  评论(0编辑  收藏  举报