2014-12-10 1 views
1

Swift에서 구현 된 Mavericks를 타겟팅하는 Yosemite에서 OS X 용 간단한 단일 창 응용 프로그램을 만들고 있습니다. 내 스토리 보드는 기본 프로젝트 1을 기반으로하므로 사용자 정의 창 컨트롤러가 없으며 단지 ViewController.swift입니다. 창을 닫을 때, 스토리 보드에서 NSWindow 객체를 "닫을 때 릴리스"를 선택 했음에도 불구하고 뷰 컨트롤러의 인스턴스가 해제되지 않습니다 (deinit의 코드는 실행되지 않습니다).Storyboarded 창과 해당 내용을 닫을 때 해제하려면 어떻게합니까?

또한 "show"segue를 사용하여 다시 열면 기존에 출시되지 않은 새 인스턴스가 아닌 새로운 인스턴스로 나타납니다. 결론은 창을 여러 번 열었다가 닫으면 각 새 창마다 뷰 컨트롤러의 새 인스턴스가 만들어 지지만 닫히면 결코 해제되지 않는다는 것입니다. 앱이 각 창에 대한 기억을 계속 먹는다고 어리석은 것처럼 보입니다.

닫을 때 창과 관련 컨트롤러 및보기를 실제로 해제하는 방법은 무엇입니까?


업데이트 : 나는 "닫을 때 릴리스"IB에 선택되어 있지만, 그것은 viewWillAppear()에서 거짓 것을 발견했다. 내가 창을 닫은 다음 다시 닫을 때 다시 닫으면오류가 발생하여 AppDelegate 클래스를 가리킨다. :-(

답변

0

방금 ​​최신 Xcode 6.2 베타 버전에서 내 앱을 실행했는데 문제가 더 이상 존재하지 않습니다. 제대로 기억하고 있는지, Xcode 6.1.1에서 프로젝트를 실행했는지 창을 반복. 응용 프로그램의 크기가 증가 할

을 계속 그래서이 응용 프로그램은 엑스 코드 6.2으로 구축 고정 문제입니다 것 같습니다.

1

나는 "쇼"SEGUE을 사용 (다시 열 경우), 창문의 새로운 인스턴스 인 것 같습니다. 아직 출시되지 않은 기존 인스턴스가 아닙니다.

프리젠 테이션을 단일 (Single)로 설정해야합니다. 기본값은 다중입니다. 프리젠 테이션 enter image description here 는 다음 업데이트 : enter image description here

는 스토리 보드에서의 ViewController에서의 ViewController 버튼을 클릭하십시오

관련 문제