Swift에서 구현 된 Mavericks를 타겟팅하는 Yosemite에서 OS X 용 간단한 단일 창 응용 프로그램을 만들고 있습니다. 내 스토리 보드는 기본 프로젝트 1을 기반으로하므로 사용자 정의 창 컨트롤러가 없으며 단지 ViewController.swift
입니다. 창을 닫을 때, 스토리 보드에서 NSWindow 객체를 "닫을 때 릴리스"를 선택 했음에도 불구하고 뷰 컨트롤러의 인스턴스가 해제되지 않습니다 (deinit
의 코드는 실행되지 않습니다).Storyboarded 창과 해당 내용을 닫을 때 해제하려면 어떻게합니까?
또한 "show"segue를 사용하여 다시 열면 기존에 출시되지 않은 새 인스턴스가 아닌 새로운 인스턴스로 나타납니다. 결론은 창을 여러 번 열었다가 닫으면 각 새 창마다 뷰 컨트롤러의 새 인스턴스가 만들어 지지만 닫히면 결코 해제되지 않는다는 것입니다. 앱이 각 창에 대한 기억을 계속 먹는다고 어리석은 것처럼 보입니다.
닫을 때 창과 관련 컨트롤러 및보기를 실제로 해제하는 방법은 무엇입니까?
업데이트 : 나는 "닫을 때 릴리스"IB에 선택되어 있지만, 그것은 viewWillAppear()
에서 거짓 것을 발견했다. 내가 창을 닫은 다음 다시 닫을 때 다시 닫으면오류가 발생하여 AppDelegate 클래스를 가리킨다. :-(