2010-07-23 3 views
2

NSView의에서 드래그 앤 드롭을 수행하는 동안 :kCGErrorFailure 디버거 콘솔에 표시, 나는 간단한 드래그를 생성하고 응용하는 가끔이 예외 MSG를 얻고 드롭 한

kCGErrorRangeCheck : CGSNewWindowWithOpaqueShape : 를 할 수없는 것은 윈도우를 생성

kCGErrorFailure : 오류를 잡으려고 중단 점 @ CGErrorBreakpoint()를 설정하면 로그에 기록됩니다.

kCGErrorIllegalArgument : CGSMoveWindow : 잘못된 창 0x0으로

kCGErrorIllegalArgument : CGSOrderWindowList

kCGErrorIllegalArgument : CGSOrderWindowList

kCGErrorIllegalArgument : CGSGetWindowBounds : NULL 창

kCGErrorIllegalArgument : C GSMoveWindow : 잘못된 창 0x0으로

kCGErrorIllegalArgument : CGSOrderWindowList

kCGErrorIllegalArgument : CGSGetWindowBounds : NULL 창

가 발생하는 이유 이

사람이 저를 제안 할 수 있고 어떻게 그것을 해결할 수 있습니까?

또한 누구든지 @CGErrorBreakpoint()에 대한 중단 점을 설정하여 디버깅하고 그 원인을 추적 할 수있는 방법을 제안 할 수 있습니까?

concludeDragOperation의 코드는 다음과 같습니다

NSPoint dropLocation = [sender draggedImageLocation]; 
id dragSource = [sender draggingSource]; 
NSPasteboard *pb = [sender draggingPasteboard]; 
NSData *draggedData = [pb dataForType:IconDragDataType]; 
id unarchievedObject = [NSKeyedUnarchiver unarchiveObjectWithData:draggedData]; 
[unarchievedObject setFrameOrigin:dropLocation]; 

감사합니다,

Miraaj

+0

unarchievedObject 클래스는 무엇입니까? – sbooth

+0

NSView의 하위 클래스이며 mouseDown : 메서드에서 드래그 작업을 시작합니다. – Devarshi

답변

2

CGErrorBreakpoint에서 중단 점 (명령 옵션-B) 중단 점 창을 열 설정하려면, 더블 클릭 "Symbol을 두 번 클릭하십시오"라는 줄을 입력하고 텍스트 필드에 CGErrorBreakpoint를 입력하십시오.