我正在学习一些Objective-C / Cocoa,并开始阅读有关处理open document
事件的信息。似乎标准方法只是通过在NSApplicationDelegate中实现application:openFile
或application:openFiles
。
所以这是我的小手:
- (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename {
NSLog(@"Got open file! filename: %@", filename);
return NO;
}
我的问题是:布尔返回值有什么影响?如果这很重要,这不是基于文档的应用程序。我可以看到返回YES
或NO
之间没有明显区别。 Apple's docs没有任何帮助 - 显然你返回YES或NO来表示你是否成功处理了打开文件事件,但这两种结果的实际后果是什么?
我对框架的熟悉程度不足以通过调试器逐步调用调用堆栈来收集任何知识。
要测试我的应用程序,我正在从Xcode运行它(尚未处理冷启动),然后在终端中运行它$ open -a MyApp somefile.txt
命令以及执行文件>在Finder中打开并选择我的应用程序。
相关问题,但关于另一个问题(未答复): Very slow to open a file with application:openFile: after returning