2016-07-13 3 views
0

SwiftUIViewController이 메모리에서 제거 될 때 ARC는 deinit을 호출하지만 메모리에서 UIView이 제거되면 호출되지 않습니다. 예를 UIViewController 클래스 deinit의 경우UIView가 메모리에서 제거되었을 때 신속한 초기화 방법이 작동하지 않습니다.

에 대한

가 작동하고 큰

class MusicPlayerUIViewController: UIViewController,UITableViewDelegate,UITableViewDataSource 
    { 
    deinit 
     { 
      APP_DELEGATE.RemovePlayerContents() 
     } 
    } 

하지만 UIView 클래스의 경우

class MusicPlayerView: UIView,UITableViewDelegate,UITableViewDataSource 
{ 
deinit 
    { 
     APP_DELEGATE.RemovePlayerContents() 
    } 
} 

어떤 생각을 작동하지 deinit .

+0

이보기를 해제 하시겠습니까? – Igor

답변

3

상위 ViewController에서 UIView를 가질 수 있습니다. 릴리스 uiview의 경우 UIView 부모를 UIViewController에 저장 한 속성을 nil로 설정해야합니다.

또는 removeFromSuperview()을 재정의하고 귀하의 deinit 코드를 입력하십시오.