2010-12-06 3 views
2

В настоящее время я пытаюсь получить путь к файлу из операции перетаскивания внутри пользовательского представления, а затем передать этот путь моему делегату приложения. Я в настоящее время использую следующие:Какао: метод делегирования вызова приложения из другого класса

- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender 
{ 

    NSPasteboard *pb = [sender draggingPasteboard]; 
    NSString *type = [pb availableTypeFromArray:[NSArray arrayWithObject:NSFilenamesPboardType]]; 
    NSArray *array = [[pb stringForType:type] propertyList]; 

    //access the app delegate 
    NSApplication *myApplication; 
    myApplication = [NSApplication sharedApplication]; 

    [myApplication uploadFiles:array]; 

    return NO; 

} 

Однако я получаю сообщение о том, что мое приложение делегат не отвечает на метод «uploadFiles». Он объявлен внутри моего делегата приложения. Я обращаюсь к NSApplication правильно?

Спасибо.

ответ

10

Я считаю, что проблема в том, что вы имеете в виду приложение, но не его делегат. Это должно работать:

Mac

[(YourAppDelegate *)[[NSApplication sharedApplication] delegate] uploadFiles:array] 

замена YourAppDelegate с действительным именем приложения делегата, и будучи уверенным в #import его.

+1

Не должно быть NSApplication? – Jasper 2015-03-02 10:18:05

Смежные вопросы