좋아요, NSOutlineView를 설정 했으므로 PDF가 NSOutlineView로 드래그되면 PDF를 캡쳐하고 싶습니다.코코아 끌어서 놓기, 데이터를 다시 읽음
[outlineView registerForDraggedTypes:[NSArray arrayWithObjects:NSStringPboardType, NSFilenamesPboardType, nil]];
나는 또한 MySupportedType 드래그에 등록 된 객체 인 같은 것을 본 적이 본 적이있는 모든 사과 문서 도구 및 예에서 :
내 첫 번째 질문은, 나는 다음과 같은 코드가 있습니다. 이것은 무엇을 의미 하는가? 그러나,이,
[outlineView registerForDraggedTypes:[NSArray arrayWithObjects:@"pdf", NSStringPboardType, NSFilenamesPboardType, nil]];
현재 나는 그것이 드래그 앤 드롭을 인식하도록 설정해야하고, 드래그가 감지되면 난 그것을 드래그 된 파일의 URL을 뱉어 수 있습니다 : 내가 할 코드를 변경합니까 제 두 번째 질문으로 안내합니다. 나는 그 PDF의 애플 리케이션 측면의 사본을 보관하고 싶습니다. 나는 틀렸다고 나에게 생각하고 정정한다. 이것을하기위한 가장 좋은 방법은 클립 보드에서 데이터를 가져 와서 일부 영구 저장소에 저장하는 것이다. (복사 명령의 일종을 사용하여 app 디렉터에게 파일을 그대로 복사하는 것으로 가정).
그런 말을하는 방법은 확실하지 않습니다. 나는 코드를 가지고있다 :
- (BOOL)outlineView:(NSOutlineView *)ov acceptDrop:(id <NSDraggingInfo>)info item:(id)item childIndex:(NSInteger)childIndex
{
NSPasteboard *pboard = [info draggingPasteboard];
NSURL *fileURL;
if ([[pboard types] containsObject:NSURLPboardType]) {
fileURL = [NSURL URLFromPasteboard:pboard];
// Perform operation using the file’s URL
}
NSData *data = [pboard dataForType:@"NSPasteboardTypePDF"];
그러나 이것은 실제로 어떤 데이터도 가져 오지 않는다. 전에 말했듯이, 그것은 URL이 아니라 단지 데이터를 얻습니다. 누구든지이 문제를 해결하는 방법에 대한 조언이 있습니까? 정말 고마워!
정말 도움이됩니다. 그 문제를 해결해 주셔서 감사합니다. 정말 감사. – kodai