В моем приложении на основе NSDocument мои документы должны быть связаны с каталогами (они являются индексом каталога)
Я хочу иметь возможность открывать / сохранять документы в соответствии со следующим вариантом использования:
Открытие каталога:
а) если в папке есть файл .myapp, откройте его
б) еще посмотрите, есть ли файл HASH-OF-PATH-basename.myapp в ~ / Library / Application Support / MyApp и откройте его
б) еще создать новый документ в памяти
Открытие файла xxx.myapp, как обычно
Сохранить / Автосохранение
a) если источником текущего документа был файл сохранения 1b, 1c или 2 в ~ / Library / Application Support / MyApp / HASH-OF-PATH-basename.myapp
b) если источником текущего документа был 1a, сохраните в этот файл .myapp
Сохранить как / Сохранить в
б) сохранить xxxxx.myapp в том месте, где пользователь указывает
Очевидной вещью, по-видимому, было просто реализовать readFromURL: ofType: error: L и writeToURL: ofType: forSaveOperation: originalContentsURL: error: и при необходимости переключать URL в зависимости от операции сохранения.
Это работает в том, что я могу открывать файлы и папки, и когда я сохраняю открытую папку, мой файл сохраняется в Application Support, но затем после writeToURL: ofType: forSaveOperation: originalContentsURL: ошибка возникает ошибка и отображается диалоговое окно с следующая ошибка:
NSDocument could not delete the temporary item at
file://localhost/private/var/folders/6P/6PNpIB-6HreGE+Ikqf5dWU+++TI/
-Tmp-/TemporaryItems/(A%20Document%20Being%20Saved%20By%20MyApp%203)
/SomeDirectory.
Here's the error:
Error Domain=NSCocoaErrorDomain Code=4 UserInfo=0x200583a00
"“SomeDirectory” couldn’t be removed."