registerForDraggedTypes с пользовательскими форматами файлов - PullRequest
4 голосов
/ 09 апреля 2010

Документация для разработчиков не дает полного описания метода registerForDraggedTypes. Например, я хочу, чтобы мое приложение разрешало доступ только к файлам "* .abc". Как я могу это сделать?

1 Ответ

6 голосов
/ 09 апреля 2010

Если вы хотите, чтобы файлы перетаскивались на ваш вид, вы должны зарегистрироваться для типа NSFilenamesPboardType. Если вы хотите принять только определенные имена файлов, вы можете сделать это в вашей реализации performDragOperation:. Что-то вроде:

- (BOOL)performDragOperation:(id < NSDraggingInfo >)sender {
    NSArray *draggedFilenames = [[sender draggingPasteboard] propertyListForType:NSFilenamesPboardType];
    if ([[[draggedFilenames objectAtIndex:0] pathExtension] isEqual:@"abc"])
        return YES;
    else
        return NO;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...