Что происходит, когда application:openFile возвращает NO вместо YES в моем NSApplicationDelegate?
Я изучаю некоторые Objective-C/ Какао и начал читать по обработке open document
События. Похоже, что стандартный способ только через реализацию application:openFile
или же application:openFiles
в вашем NSApplicationDelegate.
Итак, вот мой маленький обработчик:
- (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename {
NSLog(@"Got open file! filename: %@", filename);
return NO;
}
Мой вопрос: на что влияет логическое возвращаемое значение? Это не основанное на документе приложение, если это имеет значение. Я не вижу никакой заметной разницы между возвращением YES
или же NO
, Документы Apple не помогают: очевидно, вы возвращаете ДА или НЕТ, чтобы указать, успешно ли вы обработали событие открытия файла, но каковы реальные последствия этих двух результатов?
Я также недостаточно знаком с фреймворком, чтобы получить какие-либо знания о том, как пройти через стек вызовов с помощью отладчика.
Чтобы проверить мое приложение, я запускаю его из Xcode (пока не обрабатываю холодный запуск), затем запускаю $ open -a MyApp somefile.txt
команды в терминале, а также сделать File > Open With в Finder и выбрать мое приложение.
Смежный вопрос, но о другой проблеме (без ответа): очень медленно, чтобы открыть файл с приложением:openFile: после возвращения