0
我正在實現NSApplicationDelegate的應用程序:openFiles,以獲得特定文檔的一些自定義行爲。 雖然對於一些文檔,我想要默認行爲(只是打開並顯示它們)。所以排序我呼籲每個文檔的文件後:NSDocumentController openDocumentWithContentsOfURL:display:completionHandler:failed
[[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:[NSURL URLWithString:camDoc] display:YES completionHandler:^(NSDocument *document, BOOL alreadyOpen, NSError *error){
NSLog(@"%@",document);
}];
在控制檯中記錄以下錯誤:
*** setObjectForKey: key cannot be nil
完成處理程序不會被調用。如果我註釋掉完整的openFiles方法,那麼文檔打開的很好,所以看起來NSDocument類是正確實現的。
我試着暫時關閉Sandboxing,因爲委託方法收到NSStrings而不是URL,所以我期望這可能是問題所在。這沒有幫助。
這裏怎麼回事?
紅利問題:如何獲取應用程序(來自Finder)打開的安全範圍URL?
你能解釋一下你的意思嗎? – stone
我使用了'URLWithString',而這應該是'fileURLWithPath'。 –
這條語句在Swift中看起來像什麼? – johnrubythecat