У меня есть небольшое окно внутри основного xib (MainMenu.xib) с элементом управления NSImageView для приложения OS X. Этот элемент управления представлением имеет подкласс NSImageView, который должен принимать файлы, которые приносит пользователь (перетаскивание). Поскольку у меня нет опыта разработки приложений для Mac с помощью Objective-C, я поискал, проверил несколько примеров проектов от Apple и получил некоторую идею. Короче говоря, я только что скопировал код, опубликованный здесь. Оно работает. Отлично... Ниже приведена краткая версия.
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender{
return NSDragOperationCopy;
}
- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)sender{
}
- (void)draggingExited:(id <NSDraggingInfo>)sender{
}
- (BOOL)prepareForDragOperation:(id <NSDraggingInfo>)sender{
return YES;
}
- (BOOL)performDragOperation:(id<NSDraggingInfo>)sender {
NSPasteboard *pboard = [sender draggingPasteboard];
if ([[pboard types] containsObject:NSURLPboardType]) {
NSURL *fileURL = [NSURL URLFromPasteboard:pboard];
NSLog(@"Path: %@", [self convertPath:fileURL]); // <== That's just what I need
}
return YES;
}
- (NSString *)convertPath:(NSURL *)url {
return url.path;
}
На данный момент раскрывающийся список получает пути к файлам только по одному, независимо от количества файлов, которые пользователь перетаскивает в раскрывающийся список. Итак, что я хотел бы знать, так это то, как заставить приложение читать все несколько файлов, которые приносит пользователь.
Спасибо,