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
Параметры
url
URL файла, версия которого возражает Вам, хочет.
Возвращаемое значение
Объект версии представление текущей версии файла или
nil
если нет такого файла.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
Возвраты все версии указанного файла кроме текущей версии.
Объявление
Swift
class func otherVersionsOfItemAtURL(_
url
: NSURL) -> [AnyObject]?Параметры
url
URL файла, версии которого Вы хотите.
Возвращаемое значение
Массив версии файла возражает или
nil
если нет такого файла. Массив не содержит объект версии, возвращенныйcurrentVersionOfItemAtURL:
метод.Обсуждение
Для локально основанных файлов это свойство обычно содержит версии файла, который Вы сохранили явно или которые были сохранены в подходящее время, в то время как редактировался файл. Для документов, находящихся в облаке, это свойство обычно возвращает нуль или больше представления версий файла конфликтные версии файла, который должен быть разрешен с текущей версией.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает версию файла, имеющего указанный персистентный ID.
Объявление
Swift
init?(ofItemAtURL
url
: NSURL, forPersistentIdentifierpersistentIdentifier
: AnyObject) -> NSFileVersionObjective C
+ (NSFileVersion *)versionOfItemAtURL:(NSURL *)
url
forPersistentIdentifier:(id)persistentIdentifier
Параметры
url
URL файла, версию которого Вы хотите.
persistentIdentifier
Персистентный ID
NSFileVersion
объект Вы хотите.Возвращаемое значение
Объект версии файла с указанным ID или
nil
если не существует никакой такой объект версии.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Создает и возвращает временный каталог для использования для сохранения содержания файла.
Объявление
Параметры
url
URL файла, содержание которого Вы хотите сохранить.
Возвращаемое значение
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 *)
url
withContentsOfURL:(NSURL *)contentsURL
options:(NSFileVersionAddingOptions)options
error:(NSError **)outError
Параметры
url
Расположение, в котором можно сохранить новую версию файла.
contentsURL
URL, указывающий файл для использования для содержания версии.
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: Bool
Objective C
@property(getter=isDiscardable) BOOL discardable
Обсуждение
Отмечание версии файла как отбрасываемая дает системе гибкость для предъявления претензий в отношении места, занятого связанным файлом, в некоторое будущее время. Однако, не зависьте от отбрасываемого файла.
После установки этого свойства к
YES
true
, не устанавливайте это свойство вNO
false
снова. Выполнение так заставляет систему повышать исключение. Кроме того, если Вы устанавливаете это свойство вYES
true
для версии файла, возвращенного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
Обсуждение
Когда две или больше версии файла записаны одновременно, возможно потому что файл сохранен в облаке и один, или больше писателей было оффлайновым, когда они писали, система пытается разрешить конфликт автоматически. Это делает это путем выбора одной из версий файла, чтобы быть текущим файлом и установки этого свойства в
YES
true
для других версий файла, которые находятся в конфликте.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
разрешенный разрешенный
СвойствоБулево значение, указывающее объект версии, не находится в конфликте (
YES
true
) или находится в конфликте (NO
false
).Объявление
Swift
var resolved: Bool
Objective C
@property(getter=isResolved) BOOL resolved
Обсуждение
Когда система обнаруживает конфликт, включающий версии файла, она устанавливает это свойство в
NO
false
указать неразрешенный конфликт. После того, как Вы разрешаете конфликт, устанавливаете это свойство вYES
true
для сообщения системы, это разрешено; необходимо тогда удалить любые версии файла, которые больше не полезны.Для удаления неиспользованной версии файла вызовите
removeAndReturnError:
метод. Для удаления всех неиспользованных версий файла вызовитеremoveOtherVersionsOfItemAtURL:error:
метод.Разрешение конфликта заставляет объект версии файла быть удаленным из любых отчетов о конфликтных версиях, таких как возвращенные
unresolvedConflictVersionsOfItemAtURL:
метод.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает массив объектов версии, которые в настоящее время находятся в конфликте для указанного URL.
Объявление
Swift
class func unresolvedConflictVersionsOfItemAtURL(_
url
: NSURL) -> [AnyObject]?Параметры
url
URL файла, связавшего объекты версии.
Возвращаемое значение
Массив
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 *)
url
options:(NSFileVersionReplacingOptions)options
error:(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
объект с информацией об ошибке.Возвращаемое значение
YES
true
если эта версия была удалена успешно илиNO
false
если это не было.Обсуждение
Этот метод удаляет этот объект версии и его файл от хранилища версии, освобождая связанное пространство памяти. Вы не должны вызывать этот метод для текущей версии файла — т.е. объект версии, возвращенный
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
объект с информацией об ошибке.Возвращаемое значение
YES
true
если более старые версии файла были удалены успешно илиNO
false
если произошла ошибка.Обсуждение
Этот метод удаляет все версии кроме текущей от хранилища версии, освобождая связанное пространство памяти.
Необходимо всегда удалять версии файла как часть скоординированной операции записи к файлу. Другими словами, всегда вызывайте этот метод от блока, переданного координатору файла объект инициировать операцию записи. Выполнение так гарантирует, что никакие другие процессы не воздействуют на файл при удалении информации о версии.
Если успешный, последующие запросы на версии файла отражают, что только текущая версия доступна. Можно использовать этот метод для высвобождения дискового пространства путем удаления версий, которые больше не необходимы.
Оператор импорта
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;
Константы
-
ByMoving
NSFileVersionAddingByMoving
Если Вы хотите создать версию путем перемещения исходного файла в указанное расположение, при добавлении файла можно указать эту опцию.
Доступный в 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;
Константы
-
ByMoving
NSFileVersionReplacingByMoving
При замене файла переместите старую версию файла из хранилища версии вместо того, чтобы копировать новое содержание в версию файла. Необходимо использовать эту опцию в сочетании с координатором файла удостовериться, что работа координируется с другими клиентами файла.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-