Запазване на документ тип проект (съдържащ поддокументи)

Опитвам се да създам документ, подобен на "проект", тъй като съдържа поддокументи в определена директория. Бих искал чисто ново записване на документ, за да настроя тази директория с подходящи поддиректории. Бих искал „Запиши като“, за да копирам всички тези поддиректории и всички файлове в тях на новото място. Но бих искал „Запазване“ да актуализира само определени файлове с данни и (разбира се) да не презаписва всички поддокументи!

Какъв е "безопасният" начин да направите това? Опитах се да проследя местоположението на файла в моя документ и да проверя дали е същото или различно от мястото за запазване, но ми се струва объркано и се притеснявам, че Apple прави нещо зад кулисите, което ще направи това директното сравнение между URL адреси е неуспешно при някои обстоятелства.

Има ли стандартен начин да се направи нещо подобно?


person andyvn22    schedule 08.03.2010    source източник
comment
Използвате ли пакетни документи?   -  person zneak    schedule 08.03.2010
comment
Да, проектът е пакет, съдържащ обикновен файл с някои данни, както и директория, пълна с поддокументи.   -  person andyvn22    schedule 08.03.2010


Отговори (1)


NSFileWrapper има поддръжка за постепенно писане в Snow Leopard, която ще използва твърди връзки вместо копиране. Това изглежда като точно това, което търсите.

Вижте този запис в блог за повече информация.

person Nicholas Riley    schedule 08.03.2010
comment
За съжаление използването на твърди връзки за емулиране на копиране при запис е опасна и неработеща идея. Рано или късно някой ще редактира един от „копираните“ файлове в пакета с инструмент, който пренаписва оригиналния файл, вместо да пише нов, и ще разбие другите „копия“. NSFileWrapper без хакване на твърди връзки е „правилният“ подход, осигурен от рамка. - person Jens Ayton; 08.03.2010
comment
ъ? Рамката е да прави твърдите връзки вместо вас. Това не е хак, това е значително подобрение на скоростта за постепенно запазване. И това се случва само със Запиши, а не със Запиши като, точно както предполага плакатът. - person Nicholas Riley; 09.03.2010