NSFileVersion
NSFileVersion объект представляет снимок файла в отдельном моменте своевременно. Используйте методы этого класса доступа, создайте и управляйте версиями файла в Вашем приложении.
Каждый экземпляр версии файла содержит метаинформацию о единственной версии, включая расположение связанного файла, дату модификации версии, и отбрасываема ли версия.
В приложениях Mac можно использовать объекты версии файла отследить изменения в локальном файле в течение долгого времени и предотвратить потерю данных во время редактирования. При управлении локальными версиями архитектура документа создает версии в отдельных моментах во времени жизни приложения. Ваше приложение может также создать версии явно время от времени, которые Ваше приложение определяет как надлежащие.
В дополнение к управлению локальными файлами система также использует этот класс для управления основанными на облачных вычислениях файлами. Для файлов в облаке обычно существует только одна версия файла в любой момент времени. Однако дополнительные версии файла могут быть созданы в случаях, где два различных компьютера пытаются сохранить файл к облаку одновременно. В этом случае один файл выбран в качестве текущей версии, и любые другие версии тегируются как являющийся в конфликте с оригиналом. О версиях конфликта сообщают надлежащим объектам предъявителя файла и нужно разрешить как можно скорее так, чтобы соответствующие файлы могли быть удалены из облака.
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает новый объект версии для файла в указанном URL.
Объявление
Swift
class func currentVersionOfItemAtURL(_url: NSURL) -> NSFileVersion?Objective C
+ (NSFileVersion *)currentVersionOfItemAtURL:(NSURL *)urlПараметры
urlURL файла, версия которого возражает Вам, хочет.
Возвращаемое значение
Объект версии представление текущей версии файла или
nilесли нет такого файла.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Возвраты все версии указанного файла кроме текущей версии.
Объявление
Swift
class func otherVersionsOfItemAtURL(_url: NSURL) -> [AnyObject]?Параметры
urlURL файла, версии которого Вы хотите.
Возвращаемое значение
Массив версии файла возражает или
nilесли нет такого файла. Массив не содержит объект версии, возвращенныйcurrentVersionOfItemAtURL:метод.Обсуждение
Для локально основанных файлов это свойство обычно содержит версии файла, который Вы сохранили явно или которые были сохранены в подходящее время, в то время как редактировался файл. Для документов, находящихся в облаке, это свойство обычно возвращает нуль или больше представления версий файла конфликтные версии файла, который должен быть разрешен с текущей версией.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Возвращает версию файла, имеющего указанный персистентный ID.
Объявление
Swift
init?(ofItemAtURLurl: NSURL, forPersistentIdentifierpersistentIdentifier: AnyObject) -> NSFileVersionObjective C
+ (NSFileVersion *)versionOfItemAtURL:(NSURL *)urlforPersistentIdentifier:(id)persistentIdentifierПараметры
urlURL файла, версию которого Вы хотите.
persistentIdentifierПерсистентный ID
NSFileVersionобъект Вы хотите.Возвращаемое значение
Объект версии файла с указанным ID или
nilесли не существует никакой такой объект версии.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Создает и возвращает временный каталог для использования для сохранения содержания файла.
Объявление
Параметры
urlURL файла, содержание которого Вы хотите сохранить.
Возвращаемое значение
URL, идентифицирующий временный каталог, в котором можно создать новый файл. Необходимо удалить каталог, указанный этим URL после того, как Вы создали файл и переместили его в его надлежащее расположение.
Обсуждение
Можно использовать этот метод в ситуациях, где Вы хотите создать файл во временном расположении. Например, Вы могли бы использовать этот метод при сохранении содержания на диск файла впервые. Когда Вы закончите создавать временный файл, переместите его в более надлежащее расположение, такое как пользователь
Documentsкаталог. Необходимо удалить каталог, возвращенный этим методом, когда Вы сделаны с ним.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
addVersionOfItemAtURL (_: withContentsOfURL:options:error:) + addVersionOfItemAtURL:withContentsOfURL:options:error:Создает версию файла в указанном расположении.
Объявление
Swift
class func addVersionOfItemAtURL(_url: NSURL, withContentsOfURLcontentsURL: NSURL, optionsoptions: NSFileVersionAddingOptions, erroroutError: NSErrorPointer) -> NSFileVersion?Objective C
+ (NSFileVersion *)addVersionOfItemAtURL:(NSURL *)urlwithContentsOfURL:(NSURL *)contentsURLoptions:(NSFileVersionAddingOptions)optionserror:(NSError **)outErrorПараметры
urlРасположение, в котором можно сохранить новую версию файла.
contentsURLURL, указывающий файл для использования для содержания версии.
optionsУкажите 0 для этого параметра, если Вы хотите создать копию файла в расположении, указанном
urlпараметр. Также укажите одну из констант, описанных в NSFileVersionAddingOptions.outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, этот указатель установлен в
NSErrorобъект с информацией об ошибке.Возвращаемое значение
Объект версии файла представление новой версии или
nilесли произошла ошибка.Обсуждение
Можно использовать этот метод для сохранения версии файла к расположению, указанному
urlпараметр. Содержание файла взято отcontentsURLпараметр, значение которого может совпасть сurlпараметр.Необходимо всегда добавлять версии файла как часть скоординированной операции записи к файлу. Другими словами, всегда вызывайте этот метод от блока, переданного координатору файла объект инициировать операцию записи. Выполнение так гарантирует, что никакие другие процессы не воздействуют на файл при сохранении версии к ее новому расположению.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
URL, идентифицирующий расположение файла, связался с объектом версии файла. (только для чтения)
Обсуждение
URL идентифицирует расположение файла, связанного с этой версией. Если эта версия файла была удалена, значение в этом свойстве
nil.Не выводите на экран часть этого URL пользователю. Расположением версий файла управляет система и нельзя представить пользователю. Если Вы хотите представить имя версии файла, используйте
localizedNameсвойство.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
localizedName localizedNameСвойствоСтрока, содержащая презентабельное пользователем имя версии файла. (только для чтения)
Объявление
Swift
var localizedName: String? { get }Objective C
@property(readonly, copy) NSString *localizedNameОбсуждение
При отображении различных версий файла пользователю необходимо представить эту строку пользователю вместо URL версии.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Презентабельное пользователем имя компьютера, на котором была сохранена версия. (только для чтения)
Объявление
Swift
var localizedNameOfSavingComputer: String? { get }Objective C
@property(readonly, copy) NSString *localizedNameOfSavingComputerОбсуждение
Если текущая версия была удалена из диска, или если никакое имя компьютера не было зарегистрировано, значение в этом свойстве
nil. Имя компьютера, как гарантируют, будет зарегистрировано только, когда текущая версия будет в конфликте с другой версией. Объект версии не отслеживает изменения в самом имени компьютера. Таким образом, если бы имя компьютера изменилось, то значение в этой строке могло бы быть старым значением.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
modificationDate modificationDateСвойствоДата модификации версии. (только для чтения)
Объявление
Swift
@NSCopying var modificationDate: NSDate? { get }Objective C
@property(readonly, copy) NSDate *modificationDateОбсуждение
Если версия была удалена, это значение
nil.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
persistentIdentifier persistentIdentifierСвойствоИдентификатор для этой версии файла. (только для чтения)
Объявление
Swift
var persistentIdentifier: NSCoding { get }Objective C
@property(readonly, retain) id< NSCoding > persistentIdentifierОбсуждение
Можно сохранить значение этого свойства постоянно и использовать его для воссоздания объекта версии позже. При воссоздании объекта версии использование
versionOfItemAtURL:forPersistentIdentifier:метод, объект версии возвратился, эквивалентно текущему объекту.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
отбрасываемый отбрасываемыйСвойствоБулево значение, указывающее, может ли система удалить связанный файл в некоторое будущее время.
Объявление
Swift
var discardable: BoolObjective C
@property(getter=isDiscardable) BOOL discardableОбсуждение
Отмечание версии файла как отбрасываемая дает системе гибкость для предъявления претензий в отношении места, занятого связанным файлом, в некоторое будущее время. Однако, не зависьте от отбрасываемого файла.
После установки этого свойства к
YEStrue, не устанавливайте это свойство вNOfalseснова. Выполнение так заставляет систему повышать исключение. Кроме того, если Вы устанавливаете это свойство вYEStrueдля версии файла, возвращенногоcurrentVersionOfItemAtURL:метод, система повышает исключение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Булево значение, указывающее, является ли содержание версии в конфликте с содержанием другой версии. (только для чтения)
Объявление
Swift
var conflict: Bool { get }Objective C
@property(readonly, getter=isConflict) BOOL conflictОбсуждение
Когда две или больше версии файла записаны одновременно, возможно потому что файл сохранен в облаке и один, или больше писателей было оффлайновым, когда они писали, система пытается разрешить конфликт автоматически. Это делает это путем выбора одной из версий файла, чтобы быть текущим файлом и установки этого свойства в
YEStrueдля других версий файла, которые находятся в конфликте.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
разрешенный разрешенныйСвойствоБулево значение, указывающее объект версии, не находится в конфликте (
YEStrue) или находится в конфликте (NOfalse).Объявление
Swift
var resolved: BoolObjective C
@property(getter=isResolved) BOOL resolvedОбсуждение
Когда система обнаруживает конфликт, включающий версии файла, она устанавливает это свойство в
NOfalseуказать неразрешенный конфликт. После того, как Вы разрешаете конфликт, устанавливаете это свойство вYEStrueдля сообщения системы, это разрешено; необходимо тогда удалить любые версии файла, которые больше не полезны.Для удаления неиспользованной версии файла вызовите
removeAndReturnError:метод. Для удаления всех неиспользованных версий файла вызовитеremoveOtherVersionsOfItemAtURL:error:метод.Разрешение конфликта заставляет объект версии файла быть удаленным из любых отчетов о конфликтных версиях, таких как возвращенные
unresolvedConflictVersionsOfItemAtURL:метод.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Возвращает массив объектов версии, которые в настоящее время находятся в конфликте для указанного URL.
Объявление
Swift
class func unresolvedConflictVersionsOfItemAtURL(_url: NSURL) -> [AnyObject]?Параметры
urlURL файла, связавшего объекты версии.
Возвращаемое значение
Массив
NSFileVersionобъекты, представляющие версии в конфликте илиnilесли не существует файл в URL.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Замените содержание указанного файла с содержанием файла текущей версии.
Объявление
Swift
func replaceItemAtURL(_url: NSURL, optionsoptions: NSFileVersionReplacingOptions, errorerror: NSErrorPointer) -> NSURL?Objective C
- (NSURL *)replaceItemAtURL:(NSURL *)urloptions:(NSFileVersionReplacingOptions)optionserror:(NSError **)errorПараметры
urlФайл, содержание которого Вы хотите заменить. Если файл в этом URL не существует, новый файл создается в расположении.
optionsУказать
0перезаписывать файл на месте; иначе, укажите одну из констант, описанных в“NSFileVersionReplacingOptions”.errorНа вводе, указателе на ошибочный объект. Если ошибка происходит, этот указатель установлен в
NSErrorобъект с информацией об ошибке.Возвращаемое значение
URL файла, записанного, который может отличаться, чем тот, указанный в
urlпараметр.Обсуждение
При замене содержания файла этот метод обычно не заменяет имя дисплея, связанное с файлом. Единственное исключение когда файл в
urlимеет другой тип, чем файл, связанный с этим объектом версии. В таком случае имя файла остается тем же, но его расширение файла изменяется для соответствия типа нового содержания. (Конечно, если сокрытие расширения файла включено, это изменение не примечательно пользователям.)Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Удалите этот объект версии и его связанный файл от хранилища версии.
Объявление
Swift
func removeAndReturnError(_outError: NSErrorPointer) -> BoolObjective C
- (BOOL)removeAndReturnError:(NSError **)outErrorПараметры
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, этот указатель установлен в
NSErrorобъект с информацией об ошибке.Возвращаемое значение
YEStrueесли эта версия была удалена успешно илиNOfalseесли это не было.Обсуждение
Этот метод удаляет этот объект версии и его файл от хранилища версии, освобождая связанное пространство памяти. Вы не должны вызывать этот метод для текущей версии файла — т.е. объект версии, возвращенный
currentVersionOfItemAtURL:метод.Необходимо всегда удалять версии файла как часть скоординированной операции записи к файлу. Другими словами, всегда вызывайте этот метод от блока, переданного координатору файла объект инициировать операцию записи. Выполнение так гарантирует, что никакие другие процессы не воздействуют на файл при удалении информации о версии.
Если успешный, последующие запросы на версии файла не включают этот объект версии (или любой объект с той же информацией). Можно использовать этот метод для высвобождения дискового пространства путем удаления версий, которые больше не необходимы.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Удаляет все версии файла, кроме текущего, от хранилища версии.
Объявление
Swift
class func removeOtherVersionsOfItemAtURL(_inFileURL: NSURL, erroroutError: NSErrorPointer) -> BoolПараметры
inFileURLФайл, более старые версии которого Вы хотите удалить. Если файл в этом URL не существует, новый файл создается в расположении.
outErrorНа вводе, указателе на ошибочный объект. Если ошибка происходит, этот указатель установлен в
NSErrorобъект с информацией об ошибке.Возвращаемое значение
YEStrueесли более старые версии файла были удалены успешно илиNOfalseесли произошла ошибка.Обсуждение
Этот метод удаляет все версии кроме текущей от хранилища версии, освобождая связанное пространство памяти.
Необходимо всегда удалять версии файла как часть скоординированной операции записи к файлу. Другими словами, всегда вызывайте этот метод от блока, переданного координатору файла объект инициировать операцию записи. Выполнение так гарантирует, что никакие другие процессы не воздействуют на файл при удалении информации о версии.
Если успешный, последующие запросы на версии файла отражают, что только текущая версия доступна. Можно использовать этот метод для высвобождения дискового пространства путем удаления версий, которые больше не необходимы.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Опции для добавления новой версии файла.
Объявление
Swift
struct NSFileVersionAddingOptions : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var ByMoving: NSFileVersionAddingOptions { get } }Objective C
enum { NSFileVersionAddingByMoving = 1 << 0 }; typedef NSUInteger NSFileVersionAddingOptions;Константы
-
ByMovingNSFileVersionAddingByMovingЕсли Вы хотите создать версию путем перемещения исходного файла в указанное расположение, при добавлении файла можно указать эту опцию.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
-
Опции для замены версии файла.
Объявление
Swift
struct NSFileVersionReplacingOptions : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var ByMoving: NSFileVersionReplacingOptions { get } }Objective C
enum { NSFileVersionReplacingByMoving = 1 << 0 }; typedef NSUInteger NSFileVersionReplacingOptions;Константы
-
ByMovingNSFileVersionReplacingByMovingПри замене файла переместите старую версию файла из хранилища версии вместо того, чтобы копировать новое содержание в версию файла. Необходимо использовать эту опцию в сочетании с координатором файла удостовериться, что работа координируется с другими клиентами файла.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
