2012-07-21 4 views
1

NSOpenSavePanelDelegate 프로토콜을 구현하고 NSOpenPanel과 연결된 클래스가 있습니다. 메서드 panelSelectionDidChange NSOpenSavePanelDelegate 프로토콜에서 두 번 호출

은 내가 - (void)panelSelectionDidChange:(id)sender 방법에 NSLog()을 포함 발견 다음

내가 먼저 내가 선택한 파일의 URL을 얻을 a를 panelSelectionDidChange가 호출 파일 및 [sender URL] 확인을 선택하지만, 언제 다른 파일을 선택하면 , panelSelectionDidChange이 두 번 호출되면 처음으로 [sender URL]에 마지막 URL이 있고 두 번째로 호출됩니다. [sender URL]에는 새로 선택한 파일의 URL이 있습니다.

그러나 키보드 화살표를 사용하여 클릭하는 대신 파일을 선택하면 panelSelectionDidChange은 올바른 URL로 한 번만 호출됩니다.

정상적인 행동입니까 아니면 잘못 되었습니까?

+0

나에게 버그처럼 보입니다. 당신은 Apple에 보고서를 제출할 수 있습니다. 일반적으로 사용자가 변경 한 * 방법 *은 결과가 양쪽 모두 동일한 경우 변경이 감지되는 방식에 아무런 영향을 미치지 않아야합니다. –

답변

0

나는 또한이 문제가 열려있는 패널이 목록, 아이콘 또는 미리보기와 대조적으로 브라우저 모드에있는 경우에만 발생한다는 사실을 알게되었습니다 (공식 이름이 맞는지 확실하지 않음). 사용자는 패널의 왼쪽 상단 모서리에있는 단추를 사용하여 변경할 수 있습니다.

처음 항목을 선택하면 첫 번째 호출이 발생하고 두 번째 호출은 브라우저의 오른쪽에 미리보기가 표시 될 때 발생합니다.

정확히 내가 아는 해결책은 아니지만이 정보는 도움이 될 것입니다.