NSFileWrapper , , NSData NSFileWrapper regularFileContents. . , :
NSTextView NSDraggingDestination Protocol draggingEntered:, NSPasteboardItem, . inode NSMutableDictionary, NSFileWrapper inode , . , NSTextView NSAttributedString, inode .
- (NSDragOperation)draggingEntered:(id < NSDraggingInfo >)sender {
NSPasteboard *pasteboard = [sender draggingPasteboard];
NSArray *pasteboardItems = [pasteboard pasteboardItems];
for ( NSPasteboardItem *pasteboardItem in pasteboardItems ) {
NSString *draggedURLString = [pasteboardItem stringForType:@"public.file-url"];
if (draggedURLString != nil) {
NSURL *draggedURL = [NSURL URLWithString:draggedURLString];
NSString *draggedPath = [draggedURL path];
NSLog(@"pathname: %@", draggedPath);
NSDictionary *draggedAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:draggedPath error:nil];
if ( draggedAttributes == nil)
continue;
NSNumber *draggedInode = [draggedAttributes objectForKey:NSFileSystemFileNumber];
[draggedFiles setObject:draggedPath forKey:draggedInode];
}
}
return [super draggingEntered:sender];
}
, , , , ( ), , , , . , , .