1

viewWillDisappear에서 오브젝트를 해제해도 안전합니까? 이러한 객체는 viewWillAppear에서 다시 생성됩니다.viewWillDisAppear에서 오브젝트를 해제

그래서이 글을 쓰는 방법입니다. 그렇게해도 해가 되는가?

- (void)dealloc { 
    [self releaseObjects]; 
    [super dealloc]; 
} 

- (void)releaseObjects { 
    self.request = nil; 
    self.loadingOverlay = nil; 
    self.textView = nil; 
    self.label = nil; 
    self.endPoint = nil; 
} 

- (void)viewWillDisappear:(BOOL)iAnimated { 
    [super viewWillDisappear:iAnimated]; 
    [self releaseObjects]; 
} 

답변

2

일반적으로 변수는 생성 된 "동반자"기능에서 해제됩니다. 따라서 viewWillAppear에서 생성 한 경우 viewWillDisappear에서 해당 뷰를 릴리스합니다. viewWillLoad, viewWillUnload에서 해제.

예, 정상입니다.

1

아무것도 망가 뜨리지 않아야하지만 낭비 일 수 있습니다 ... vc가 탭에 있고 사용자가 탭 사이를 반복적으로 전환한다고 가정 해보십시오. 여분의 무료/할당 작업을 많이 할 것입니다. 등

+0

, didReceiveMemoryWarning, 할당 해제하지만처럼되지 않습니다 : 거기 않는

뭔가 비정상적으로 자원이 많이 소요, 나는 나 내가 그 목적을 위해 만든 후크 메모리를 해제해야한다고 알려주는 OS에게 맡겨 사용자가 반복적으로 탭 사이를 전환 할 때마다 자동으로 해제되는 객체를 만드는 것으로 끝나 가고 있습니다. View Controller를 닫은 후에도 dealloc이 호출되는 것을 볼 수 없습니다. 메모리 경고가 내 앱에 표시되는 것을보고 있기 때문에이 작업을 수행하고 있습니다. 하루에 2-3 번! – Abhinav

관련 문제