내 경우는 다음과 같습니다.어떻게 제대로 코코아 응용 프로그램 종료를 처리하기 위해?
비표준 문서 기반 응용 프로그램을 개발 중이며 어떤 문서에도 변경 사항이 저장되지 않은 경우 종료를 중단하는 시나리오를 처리하고 싶습니다.
내 초기 아이디어는 :
- 사용자는 (어느
"Quit XXXXX"
메뉴 항목을 통해 또는"X"
버튼을 클릭하여) - 가 수정 된 문서가 있습니까를 응용 프로그램을 종료하려고? 수정되지 않은 문서가 있음을 사용자에게 통지 :
- NO 경우 : YES 경우
- 를 종료합니다. 계속 진행하고 싶다면 그만 둡니다. 그렇지 않으면 취소가 종료됩니다.
그래서, 나는 그것을 대리자 방향을하기로 결정했다. 내 응용 프로그램 위임에서
는, 내가 구현했습니다 :
-windowToClose:
applicationShouldTerminate:
이제
applicationShouldTerminateAfterLastWindowClosed:
, 그게 내가 생각하고 무엇을 (NSWindowWillCloseNotification
트리거) . applicationShouldTerminate:
방법 : 문서가 수정되는 경우
- 반환
NSTerminateNow
에는 수정 된 문서는 반환NSTerminateCancel
- 을 존재하지 않는 경우. 이 경우, 그 같은 경고 시트 또는 뭔가를 팝업 및 사용자가 자신이 그만두고 싶은 확인하는 경우, 다음
[NSApp terminate:nil];
올바른 방법은 그것에 대해 가고인가요 전화?
제안 사항? 그 방법 참이다
좋은 아이디어; 그러나 여기에 YES-NO 경고 시트 (http://snippet.mx/Ra8E)에 사용중인 코드가 있습니다. 같은 함수 내에서 반환되도록하려면 어떻게해야합니까? –