ViewController를 제대로 파괴하는 방법을 찾지 못했습니다. 내 프로젝트에는 3 개의 뷰 컨트롤러가 있습니다. Swift - 모달 뷰에서 떨어져 ViewController를 제대로 파괴하지 않습니다.
첫 번째보기 컨트롤러는 두 번째보기 컨트롤러와 연결됩니다. 두 번째보기 컨트롤러는 모달적으로 세 번째보기과 연결됩니다. 세 번째보기가 화면에 있으면 두 번째 화면이 배경에서 계속 볼 수 있습니다 (세 번째보기는 투명한 배경을가집니다).
그러나 세 번째보기 컨트롤러에서 멀리 떨어져 첫 번째보기 컨트롤러로 돌아 가면 배경에있는 두 번째보기 컨트롤러가 소멸되지 않습니다.
viewDidAppear - ViewController1
viewWillDisappear - ViewController1
viewDidAppear - ViewController2
viewDidAppear - ViewController3
viewWillDisappear - ViewController3
viewDidAppear - ViewController1
위 콘솔 print 문에서 볼 수 있듯이
는, ViewController2 어디 파괴되고 있지 않습니다 : 내가 무엇을 의미하는지 설명하기 위해 뷰 컨트롤러 라이프 사이클 이벤트를 기록. 논리적으로, 나는 VC3가 VC1로 되돌아 갈 때 ViewController3와 함께 파괴 될 것이라고 생각했다. 그러나 이것이 사실이 아니며, 가장 빠른 이유는 모달 뷰가 Swift에서 작동하는 방식이 복잡하기 때문입니다.어떻게 해결할 수 있습니까? viewWillDisappear를 호출하려면 VC2가 필요합니다.
는 VC1로 돌아 ** ** 언 와인드 SEGUE를 사용합니다. 참조 : http://stackoverflow.com/q/12561735/1630618 – vacawama
고맙습니다! 긴장을 푸는 순간 나는 정확히 내가 찾던 것이었다. – user3161770