Обработка ошибок при сохранении kPasteboardTypeFileURLPromise

Мое приложение для Mac должно позволять перетаскивать kPasteboardTypeFileURLPromise, чтобы получать файловые обещания из монтажного стола или в него.

Насколько я понимаю, каждый NSPasteboardItem должен иметь kPasteboardTypeFileURLPromise в своих доступных типах.

В отличие от NSURL, которые обрабатываются местом назначения перетаскивания, kPasteboardTypeFileURLPromise записываются источником перетаскивания в место назначения, заданное местом назначения перетаскивания.

Однако, когда источник не выполняет обещание, кажется, что нет способа передать получателю ошибку с информацией о пользователе для восстановления (например, NSRecoveryAttempterErrorKey и т. д.).

Как лучше всего обрабатывать ошибки при перетаскивании kPasteboardTypeFileURLPromise? Должны ли они обрабатываться источником перетаскивания?

Это может привести к некоторому несоответствию по сравнению с перетаскиваемыми NSURL, для которых ошибки обрабатываются местом назначения.


person Yoav    schedule 26.08.2013    source источник


Ответы (1)


если вам нужно скопировать файл в буфер обмена, используйте это:

NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
[pasteBoard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, NSFilenamesPboardType, nil] owner:nil];
[pasteBoard setString:self.fullpath forType:NSStringPboardType];                // copy file path as string
[pasteBoard setPropertyList:@[self.fullpath] forType:NSFilenamesPboardType];    // copy file link
person Aleksey Mazurenko    schedule 20.02.2014