NSDocument
NSDocument
абстрактный класс определяет интерфейс для документов OS X. Документ является объектом, который может внутренне представлять данные, выведенные на экран в окне, и это может считать данные из и записать данные в пакет файла или файл. Документы создают и управляют одним или более контроллерами окна и поочередно управляются контроллером документа. Документы реагируют на сообщения действия первого респондента, чтобы сохранить, вернуться, и распечатать их данные.
Концептуально, документ является контейнером для объема информации, идентифицированного именем, под которым он сохранен в дисковом файле. В этом смысле, однако, документ не является тем же как файлом, но является объектом в памяти, владеющей и управляющей данными документа. В контексте AppKit документ является экземпляром пользовательского NSDocument
подкласс, знающий, как представлять внутренне в одном или более форматах, персистентные данные, выведенные на экран в окнах.
Документ может считать те данные из файла и записать его в файл. Это - также цель первого респондента для многих команд меню, связанных с документами, теми, которые Сохраняют, Возвращаются, и Печать. Документ управляет отредактированным состоянием своего окна и устанавливается для выполнения операций восстановления и отмены. Когда окно закрывается, документ просят перед делегатом окна утвердить закрытие.
NSDocument
одна из триады классов AppKit, устанавливающих архитектурное основание для основанных на документе приложений (другие быть NSDocumentController
и NSWindowController
).
Разделение на подклассы NSDocument
NSDocument
класс разработан, чтобы быть разделенным на подклассы. Т.е. NSDocument
класс абстрактен, и Ваше приложение должно создать по крайней мере один NSDocument
разделите на подклассы для использования архитектуры документа. Создать полезное NSDocument
подкласс, необходимо переопределить некоторые методы, и можно дополнительно переопределить других.
NSDocument
сам класс знает, как обработать данные документа как недифференцируемые глыбы; несмотря на то, что это понимает, что эти глыбы вводятся, это ничего не знает об определенных типах. В их переопределениях основанного на данных чтения и методов записи, подклассы должны добавить знание определенных типов и как данные собственного типа документа структурированы внутренне. Подклассы также ответственны за создание контроллеров окна, управляющих окнами документа и для реализации отмены и восстановления. NSDocument
класс заботится о большой части из остальных, включая общее управление состоянием документа.
См. Основанное на документе Руководство по программированию Приложения для Mac для получения дополнительной информации о создании подклассов NSDocument
, особенно список примитивных методов, которые подклассы должны переопределить и те, которых можно дополнительно переопределить.
Документ, сохраняющий поведение
NSDocument
класс реализует сохранение документа в пути, сохраняющем, если это возможно, различные атрибуты каждого документа, включая:
Дата создания
Полномочия/полномочия
Расположение значка документа в окне Icon View Finder его родительской папки
Значение Настройки внутреннего абонента Шоу документа
Заботу также соблюдают для сохранения документов в пути, не повреждающем создаваемых пользователями псевдонимов, которые могут указать на документы. В результате некоторые методы в любом классе NSDocument
может быть вызван с параметрами, не имеющими того же значения, как они сделали в ранних выпусках OS X. Это важно это переопределения writeToURL:ofType:error:
и writeToURL:ofType:forSaveOperation:originalContentsURL:error:
не сделайте предположения о путях к файлам переданными как параметры, включая:
Расположение, в которое пишется файл. Это расположение могло бы быть скрытым временным каталогом.
Имя записанного файла. Возможно, что этот файл не имеет никакого очевидного отношения к названию документа.
Отношение любого передаваемого файла, включая исходный файл, к значению в
fileURL
.
При обновлении приложения для соединения против OS X v10.5 имейте в виду, что является обычно более надлежащим вызвать в приложении коде одном из NSDocument
save...
методы, чем один из write...
методы. write...
методы там прежде всего для Вас для переопределения. saveToURL:ofType:forSaveOperation:error:
метод, предназначающийся всегда, чтобы быть вызванным во время сохранения документа, устанавливает fileModificationDate
свойство с новой датой модификации файла после того, как это было записано (для NSSaveOperation
и NSSaveAsOperation
только).
Аналогично, является обычно более надлежащим вызвать в Вашем приложении коде одном из NSDocument
revert...
методы, чем один из read...
методы. read...
методы там прежде всего для Вас для переопределения. revertToContentsOfURL:ofType:error:
метод, предназначающийся всегда, чтобы быть вызванным во время перечитывания открытого документа, устанавливает fileModificationDate
свойство с датой модификации файла после того, как это было считано.
Поддержка iCloud
NSDocument
класс реализует поддержку координации файла, требующуюся для поддерживающего iCloud, основанного на документе приложения Mac (см. Как Работы Хранения документов iCloud в Руководстве по проектированию iCloud). Кроме того, методы этого класса для перемещения и переименования документов, новых в OS X v10.8, гарантируют, что эти операции выполняются безопасным способом для поддерживающих iCloud приложений.
Многожильные соображения
В OS X v10.6 и позже, NSDocument
поддерживает возможность открыть многократные документы одновременно. Однако эта поддержка требует сотрудничества объекта документа. Если Ваш подкласс документа в состоянии считать определенные типы документов независимо от других аналогичных документов, необходимо переопределить canConcurrentlyReadDocumentsOfType:
метод класса и возврат YES
true
для надлежащих типов документов. Если определенные типы документов полагаются на информацию об общем состоянии, однако, необходимо возвратиться NO
false
для тех типов.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSFilePresenter
-
NSObjectProtocol
-
NSUserInterfaceValidations
-
Печатаемый
-
NSFilePresenter
-
NSObject
-
NSUserInterfaceValidations
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
-
Инициализирует и возвращает пустое
NSDocument
объект.Объявление
Swift
init()
Objective C
- (instancetype)init
Возвращаемое значение
Инициализированный
NSDocument
объект.Обсуждение
Этот инициализатор (определяемый инициализатор) вызывается каждым из другого
NSDocument
методы инициализации.Можно переопределить этот метод для выполнения инициализации, которая должна быть сделана и при создании новых пустых документов и при открытии существующих документов. Ваше переопределение должно вызвать
super
инициализировать частныйNSDocument
переменные экземпляра. Это никогда не должно возвращатьсяnil
. Если ошибка может произойти во время объектной инициализации, проверьте на ошибку в переопределенииinitWithType:error:
,initWithContentsOfURL:ofType:error:
, илиinitForURL:withContentsOfURL:ofType:error:
, потому что могут возвратиться те методыNSError
объекты.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Инициализирует документ, расположенный URL указанного типа.
Объявление
Параметры
absoluteURL
URL, из которого получено содержание документа.
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если инициализация неуспешна, указатель на ошибочный объект, инкапсулирующий причину, документ не мог быть создан.
Возвращаемое значение
Инициализированный
NSDocument
объект, или, если документ не мог бы быть создан,nil
.Обсуждение
Можно переопределить этот метод для настройки повторного открытия сохраненных автоматически документов.
Этот метод вызывается
NSDocumentController
методmakeDocumentWithContentsOfURL:ofType:error:
. Реализация по умолчанию этого вызовы методаinit
иreadFromURL:ofType:error:
методы и наборы оценивают заfileURL
,fileType
, иfileModificationDate
свойства.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, реализация по умолчанию этого метода вместо этого вызывает
initWithContentsOfFile:ofType:
если это переопределяется, и URL используетfile:
схема. Это все еще обновляетfileModificationDate
свойство в этой ситуации.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Инициализирует документ, расположенный URL указанного типа, но путем чтения содержания для документа от различного URL.
Объявление
Параметры
absoluteDocumentURL
URL, где расположен документ.
absoluteDocumentContentsURL
URL, из которого получено содержание документа.
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если инициализация неуспешна, указатель на ошибочный объект, инкапсулирующий причину, документ не мог быть создан.
Возвращаемое значение
Инициализированный
NSDocument
объект, или, если документ не мог бы быть создан,nil
.Обсуждение
absoluteDocumentURL
параметрnil
когда сохраненный автоматически документ явно никогда не сохранялся, если инициализация является частью повторного открытия сохраненного автоматически документа.Во время повторного открытия сохраненных автоматически документов этот метод использует следующий
NSDocumentChangeType
постоянный, чтобы указать, что вновь открывается сохраненный автоматически документ:NSChangeReadOtherContents
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Инициализирует документ указанного типа.
Объявление
Swift
convenience init?(type
typeName
: String, erroroutError
: NSErrorPointer)Параметры
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если инициализация неуспешна, указатель на ошибочный объект, инкапсулирующий причину, документ не мог быть создан.
Возвращаемое значение
Инициализированный
NSDocument
объект, или, если документ не мог бы быть создан,nil
.Обсуждение
Реализация по умолчанию этого метода просто вызывает
[self init]
и[self setFileType:typeName]
.Можно переопределить этот метод для выполнения инициализации, которая должна быть сделана при создании новых документов, но не должна быть сделана при открытии существующих документов. Ваше переопределение должно обычно вызывать
super
, или по крайней мере это должно вызватьinit
,NSDocument
определяемый инициализатор, для инициализацииNSDocument
частные переменные экземпляра.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Создает и возвращает объект данных, содержащий содержание документа, отформатированного к указанному типу.
Объявление
Параметры
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если объект данных не мог бы быть создан, указатель на ошибочный объект, инкапсулирующий причину, это не могло быть создано.
Возвращаемое значение
Объект данных, содержащий содержание документа, или, если объект данных не мог бы быть создан,
nil
.Обсуждение
Реализация по умолчанию этого метода выдает исключение потому что по крайней мере один из методов записи (этот метод,
writeToURL:ofType:error:
,fileWrapperOfType:error:
, илиwriteToURL:ofType:forSaveOperation:originalContentsURL:error:
) должен быть переопределен.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, реализация по умолчанию этого метода вместо этого вызывает
dataRepresentationOfType:
typeName
наself
еслиdataRepresentationOfType:
переопределяется.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Создает и возвращает обертку файла, содержащую содержание документа, отформатированного к указанному типу.
Объявление
Swift
func fileWrapperOfType(_
typeName
: String, erroroutError
: NSErrorPointer) -> NSFileWrapper?Objective C
- (NSFileWrapper *)fileWrapperOfType:(NSString *)
typeName
error:(NSError **)outError
Параметры
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если обертка файла не могла бы быть создана, указатель на ошибочный объект, инкапсулирующий причину, это не могло быть создано.
Возвращаемое значение
Обертка файла, содержащая содержание документа, или, если обертка файла не могла бы быть создана,
nil
.Обсуждение
Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, если
fileWrapperRepresentationOfType:
переопределяется, реализация по умолчанию этого метода вместо этого вызывает[self fileWrapperRepresentationOfType:typeName]
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Устанавливает содержание этого документа путем чтения из данных указанного типа и возвратов
YES
true
в случае успеха.Объявление
Параметры
data
Объект данных, из которого читается содержание документа.
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если содержание документа не могло бы быть считано, указатель на ошибочный объект, инкапсулирующий причину, они не могли быть считаны.
Возвращаемое значение
YES
true
если могло бы быть считано содержание документа; иначе,NO
false
.Обсуждение
Реализация по умолчанию этого метода выдает исключение потому что по крайней мере один из трех методов чтения (этот метод,
readFromURL:ofType:error:
,readFromFileWrapper:ofType:error:
), или каждый метод, который может вызватьreadFromURL:ofType:error:
, должен быть переопределен.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
entireFileLoaded entireFileLoaded
СвойствоБулево значение, указывающее, загружается ли файл документа полностью в память. (только для чтения)
Объявление
Swift
var entireFileLoaded: Bool { get }
Objective C
@property(getter=isEntireFileLoaded, readonly) BOOL entireFileLoaded
Возвращаемое значение
YES
true
если весь файл документа загружается в память; иначеNO
false
.Обсуждение
Значение по умолчанию этого свойства
YES
true
, который показывает, что весь файл загружается в память. Можно переопределить это свойство для возвратаNO
false
если дополнительные данные должны быть считаны из файла.NSDocument
может использовать это значение, чтобы сделать, вещам нравится, предотвращают извлечение объема или предупреждают пользователя, когда частично загруженный файл исчезает из файловой системы.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Подклассы могут переопределить этот метод для создания начального контроллера (ов) окна для документа.
Объявление
Swift
func makeWindowControllers()
Objective C
- (void)makeWindowControllers
Обсуждение
Реализация базового класса создает
NSWindowController
объект сwindowNibName
и с документом как владелец файла, еслиwindowNibName
возвращает имя. Если Вы переопределяете этот метод для создания собственных контроллеров окна, несомненно, будут использоватьaddWindowController:
добавить их к документу после создания их.Этот метод вызывают
NSDocumentController
open...
методы, но Вы могли бы хотеть вызвать его непосредственно при некоторых обстоятельствах.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
windowNibName windowNibName
СвойствоИмя единственного файла пера документа. (только для чтения)
Объявление
Swift
var windowNibName: String? { get }
Objective C
@property(readonly, copy) NSString *windowNibName
Обсуждение
Используя это имя,
NSDocument
создает и инстанцирует экземпляра по умолчаниюNSWindowController
управлять окном. Если Ваш документ имеет многократные файлы пера, каждого с его собственным единственным окном, или если значение по умолчаниюNSWindowController
экземпляр не соответствует в Ваших целях, необходимо переопределитьmakeWindowControllers
.Значение по умолчанию этого свойства
nil
. Подклассы должны переопределить его для указания имени файла пера.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Если получатель является владельцем файла пера, отправленный после того, как указанный контроллер окна загружает файл пера.
Объявление
Swift
func windowControllerDidLoadNib(_
windowController
: NSWindowController)Objective C
- (void)windowControllerDidLoadNib:(NSWindowController *)
windowController
Параметры
windowController
Контроллер окна, загружающий файл пера.
Обсуждение
См. описание класса для
NSWindowController
для получения дополнительной информации о файлах пера и объекте владельца файла.Обычно
NSDocument
переопределения подклассаwindowNibName
илиmakeWindowControllers
, но не оба. ЕслиwindowNibName
переопределяется, реализация по умолчаниюmakeWindowControllers
загрузит именованный файл пера, делаяNSDocument
возразите владельцу файла пера. В этом случае можно переопределитьwindowControllerDidLoadNib:
и сделайте пользовательскую обработку после того, как будет загружен файл пера.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Если получатель является владельцем файла пера, отправленный, прежде чем указанный контроллер окна загружает файл пера.
Объявление
Swift
func windowControllerWillLoadNib(_
windowController
: NSWindowController)Objective C
- (void)windowControllerWillLoadNib:(NSWindowController *)
windowController
Параметры
windowController
Контроллер окна, загружающий файл пера.
Обсуждение
См. описание класса для
NSWindowController
для получения дополнительной информации о файлах пера и объекте владельца файла.Обычно
NSDocument
переопределения подклассаwindowNibName
илиmakeWindowControllers
, но не оба. ЕслиwindowNibName
переопределяется, реализация по умолчаниюmakeWindowControllers
загрузит именованный файл пера, делая NSDocument владельцем файла пера. В этом случае можно переопределитьwindowControllerWillLoadNib:
и сделайте пользовательскую обработку, прежде чем будет загружен файл пера.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
windowControllers windowControllers
СвойствоТекущие контроллеры окна документа. (только для чтения)
Объявление
Swift
var windowControllers: [AnyObject] { get }
Objective C
@property(readonly, copy) NSArray *windowControllers
Обсуждение
Значение этого свойства является массивом объектов NSWindowController, принадлежащих текущему документу. Если нет никаких контроллеров окна, значение является объектом пустого массива.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Добавляет указанный контроллер окна к списку этого документа присоединенных контроллеров окна и устанавливает документ переданного - в контроллере окна.
Объявление
Swift
func addWindowController(_
aController
: NSWindowController)Objective C
- (void)addWindowController:(NSWindowController *)
aController
Параметры
aController
Добавляющийся контроллер окна.
Обсуждение
NSDocument
возразите использует его список контроллеров окна, когда это выводит на экран все окна документа, окно наборов отредактировало состояние на отмену или работу восстановления, и изменяет заголовки окон. Если Вы создаете контроллеры окна путем переопределенияwindowNibName
, этот метод вызывается автоматически. Если Вы создаете контроллеры окна вmakeWindowControllers
или в любом другом контексте, такой как в приложениях, представляющих многократные окна на документ, необходимо вызвать этот метод для каждого создаваемого контроллера окна.Вы не можете присоединить контроллер окна больше чем к одному документу за один раз. Реализация по умолчанию этого метода удаляет переданный - в контроллере окна от документа, до которого это присоединяется, если это уже присоединено один, затем отправляет ему a
setDocument:
сообщение сself
как параметр. Это также игнорирует избыточные вызовы.Вы обычно не переопределяли бы этот метод.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
setDocument:
(NSWindowController) -
Удаляет указанный контроллер окна из массива получателя контроллеров окна.
Объявление
Swift
func removeWindowController(_
windowController
: NSWindowController)Objective C
- (void)removeWindowController:(NSWindowController *)
windowController
Параметры
windowController
Демонтированный контроллер окна.
Обсуждение
Документ без контроллеров окна не обязательно закрывается. Однако контроллер окна может быть установлен закрыть свой ассоциированный документ, когда окно закрывается, или контроллер окна освобожден.
Реализация по умолчанию этого метода отправляет a
setDocument:
обменивайтесь сообщениями к переданному - в контроллере окна с anil
параметр. Вы обычно не переопределяли бы этот метод.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
shouldCloseDocument
(NSWindowController
) -
shouldCloseWindowController (_: delegate:shouldCloseSelector:contextInfo:) - shouldCloseWindowController:delegate:shouldCloseSelector:contextInfo:
Вызывает
shouldCloseSelector
с результатомcanCloseDocumentWithDelegate:shouldCloseSelector:contextInfo:
. если закрывающийся указанный контроллер окна последним или отмечен как порождение документа завершению, являетсяОбъявление
Swift
func shouldCloseWindowController(_
windowController
: NSWindowController, delegatedelegate
: AnyObject?, shouldCloseSelectorshouldCloseSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)shouldCloseWindowController:(NSWindowController *)
windowController
delegate:(id)delegate
shouldCloseSelector:(SEL)shouldCloseSelector
contextInfo:(void *)contextInfo
Параметры
windowController
Закрывающийся контроллер окна.
delegate
Делегат, в которого отправляется селекторное сообщение.
shouldCloseSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
Иначе это вызывает
shouldCloseSelector
сYES
true
. Этим методом вызывают автоматическиNSWindow
для любого окна, имеющего контроллер окна и документ, связанный с ним.NSWindow
вызовы этот метод до отправкиdelegate
windowShouldClose:
сообщение. ПередайтеcontextInfo
объект с обратным вызовом.shouldCloseSelector
метод обратного вызова должен иметь следующую подпись:- (void)document:(NSDocument *)document shouldClose:(BOOL)shouldClose contextInfo:(void *)contextInfo
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Дисплеи все окна документа, выявляя их и делая их основными или ключевыми по мере необходимости.
Объявление
Swift
func showWindows()
Objective C
- (void)showWindows
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Наборы
window
Соедините интерфейсом с выходом Разработчика этого класса.Объявление
Swift
func setWindow(_
aWindow
: NSWindow?)Objective C
- (void)setWindow:(NSWindow *)
aWindow
Параметры
aWindow
Окно то, к который получатель
window
точки выхода.Обсуждение
Этот метод вызывается автоматически во время загрузки любого пера, для которого этот документ является владельцем файла, если владелец файла
window
выход соединяется в пере. Вы не должны вызывать этот метод непосредственно, и обычно Вы не переопределили бы его также.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
windowForSheet windowForSheet
СвойствоСамое надлежащее окно (окон связался с документом) использовать в качестве родительского окна модального документом листа. (только для чтения)
Объявление
Swift
var windowForSheet: NSWindow? { get }
Objective C
@property(readonly, strong) NSWindow *windowForSheet
Обсуждение
Значение этого свойства может быть
nil
, когда отправитель должен представить модальную приложением панель.NSDocument
реализация этого наборы свойств значение к окну первого контроллера окна, или[NSApp mainWindow]
если первый контроллер окна не имеет никакого окна, при отсутствии контроллеров окна или.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.3 и позже.
-
displayName displayName
СвойствоИмя документа, как выведено на экран в строках заголовка окон документа и в предупредительных диалоговых окнах имело отношение к документу. (только для чтения)
Объявление
Swift
var displayName: String { get }
Objective C
@property(readonly, copy) NSString *displayName
Обсуждение
Если документ был сохранен, имя дисплея является последним компонентом расположения каталога сохраненного файла (например, “
MyDocument
” если путь “/tmp/MyDocument.rtf
”). Если документ является новым,NSDocument
делает имя дисплея “Неназванный n”, где n является числом в последовательности новых и несохраненных документов. Визуализуемое имя также принимает во внимание, должно ли быть скрыто расширение файла документа. ПодклассыNSWindowController
может переопределитьwindowTitleForDocumentDisplayName:
изменить имя дисплея, как это появляется в заголовках окон.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Определяет имя этого документа для представления пользователю.
Объявление
Swift
func setDisplayName(_
displayNameOrNil
: String?)Objective C
- (void)setDisplayName:(NSString *)
displayNameOrNil
Параметры
displayNameOrNil
Имя дисплея документа или
nil
, когда имя дисплея документа «Не названо».Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает черновое имя по умолчанию для подкласса получения
NSDocument
.Обсуждение
Реализация по умолчанию этого метода возвращает «Неназванную» строку, как скорректировано согласно указанной локали пользователя. Ваше приложение должно обычно возвращать имя, описывающее вид документа. Например, приложение электронной таблицы могло возвратить «электронную таблицу». Документ, создаваемый из шаблона, мог возвратить имя шаблона, например, «Резюме».
Когда документ еще не был присвоен имя и еще не был сохранен автоматически с
NSAutosaveAsOperation
сохраните тип работы, документ базирует имя по умолчанию на значении вdisplayName
свойство.Если бы существует уже другой документ или файл в том же месте и с тем же именем, как был бы возвращен этим методом,
NSDocument
добавляет число кdefaultDraftName
строка.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Устанавливает содержание этого документа путем чтения из обертки файла указанного типа.
Объявление
Swift
func readFromFileWrapper(_
fileWrapper
: NSFileWrapper, ofTypetypeName
: String, erroroutError
: NSErrorPointer) -> BoolObjective C
- (BOOL)readFromFileWrapper:(NSFileWrapper *)
fileWrapper
ofType:(NSString *)typeName
error:(NSError **)outError
Параметры
fileWrapper
Обертка файла, из которой читается содержание документа.
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если содержание документа не могло бы быть считано, указатель на ошибочный объект, инкапсулирующий причину, они не могли быть считаны.
Возвращаемое значение
YES
true
если могло бы быть считано содержание документа; иначе,NO
false
.Обсуждение
Реализация по умолчанию этого метода вызывает
[self readFromData:[fileWrapper regularFileContents] ofType:typeName error:outError]
.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, реализация по умолчанию этого метода вместо этого вызывает
[self loadFileWrapperRepresentation:fileWrapper ofType:typeName]
еслиloadFileWrapperRepresentation:ofType:
переопределяется.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
fileModificationDate fileModificationDate
СвойствоПоследняя известная дата модификации дискового представления документа.
Объявление
Swift
@NSCopying var fileModificationDate: NSDate?
Objective C
@property(copy) NSDate *fileModificationDate
Обсуждение
NSDocument
файл по умолчанию, сохраняющий машинное оборудование, использует эту информацию для предупреждения пользователя, когда дисковое представление открытого документа было изменено чем-то другим, чем текущее приложение.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
runModalSavePanelForSaveOperation (_: delegate:didSaveSelector:contextInfo:) - runModalSavePanelForSaveOperation:delegate:didSaveSelector:contextInfo:
Если пользователь утверждает панель, представляет модальную панель Save пользователю, затем пытается сохранить документ.
Объявление
Swift
func runModalSavePanelForSaveOperation(_
saveOperation
: NSSaveOperationType, delegatedelegate
: AnyObject?, didSaveSelectordidSaveSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)runModalSavePanelForSaveOperation:(NSSaveOperationType)
saveOperation
delegate:(id)delegate
didSaveSelector:(SEL)didSaveSelector
contextInfo:(void *)contextInfo
Параметры
saveOperation
Тип работы сохранения.
delegate
Делегат, в которого отправляется селекторное сообщение.
didSaveSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
То, когда сохранение завершается, независимо от успешности или неуспешности, или было отменено, отправляет сообщение, выбранное
didSaveSelector
кdelegate
, сcontextInfo
как последний параметр. Метод выбранdidSaveSelector
должен иметь ту же подпись как:- (void)document:(NSDocument *)doc didSave:(BOOL)didSave contextInfo:(void *)contextInfo
Вызванный от
saveDocumentWithDelegate:didSaveSelector:contextInfo:
, и отsaveDocumentAs:
иsaveDocumentTo:
методы действия. Реализация по умолчанию этого метода сначала удостоверяется, что любой редактор зарегистрировал использование Привязки КакаоNSEditorRegistration
неофициальный протокол фиксировал свои изменения, затем создает панель Save, добавляет стандартное представление аксессуара формата файла (если существует больше чем один тип файла для пользователя для выбора из иshouldRunSavePanelWithAccessoryView
возвратыYES
true
), устанавливает различные атрибуты панели, вызываетprepareSavePanel:
для предоставления возможности для настройки, затем представляет панель. Если пользователь утверждает панель, реализация по умолчанию отправляет сообщениеsaveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:
.Для обратной совместимости на уровне двоичных кодов с Mac OS v10.3 и ранее, реализация по умолчанию этого метода вместо этого вызывает осуждаемый
saveToFile:saveOperation:delegate:didSaveSelector:contextInfo:
даже если пользователь отменяет панель, если это переопределяется.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Булево значение, указывающее, выводит ли панель Save документа на экран список поддерживаемых перезаписываемых типов документов. (только для чтения)
Объявление
Swift
var shouldRunSavePanelWithAccessoryView: Bool { get }
Objective C
@property(readonly) BOOL shouldRunSavePanelWithAccessoryView
Обсуждение
Когда значение этого свойства
YES
true
, документ включает всплывающее меню поддерживаемых перезаписываемых типов документов, когда он выводит на экран панель Save. Значение по умолчанию этого свойстваYES
true
. Подклассы могут переопределить это свойство для обеспечения различного значения. Например, Вы могли бы обеспечить следующую реализацию:- (BOOL)shouldRunSavePanelWithAccessoryView {
return [self fileURL] == nil;
}
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
keepBackupFile keepBackupFile
СвойствоБулево значение, указывающее, сохраняет ли документ файлы резервных копий создаваемыми перед данными документа, записано в файл. (только для чтения)
Объявление
Swift
var keepBackupFile: Bool { get }
Objective C
@property(readonly) BOOL keepBackupFile
Обсуждение
Значение по умолчанию этого свойства
NO
false
, который препятствует тому, чтобы документ сохранил файлы резервных копий. Подклассы могут переопределить это свойство и возвратYES
true
от их реализации для имения документа сохраняют файлы резервных копий.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
backupFileURL backupFileURL
СвойствоURL для файла резервного копирования, создававшегося во время работы автосохранения. (только для чтения)
Объявление
Swift
@NSCopying var backupFileURL: NSURL? { get }
Objective C
@property(readonly, copy) NSURL *backupFileURL
Обсуждение
Это свойство указывает расположение файла резервной копии, если таковые имеются. Если файл резервной копии не может быть создан или не необходим, значение этого свойства
nil
.Запускаясь в OS X v10.8, версии документа могут быть сохранены с помощью файла резервной копии, создаваемого во время работы автосохранения, поддерживающей управление версиями документа. Это свойство предоставляет Вам доступ к URL файла резервной копии.
Используя файл резервной копии автосохранения для сохранения версий эффективно. Это вызвано тем, что
NSDocument
экземпляр в состоянии использоватьNSFileVersionReplacingByMoving
опция, когда это вызываетreplaceItemAtURL:options:error:
метод. Документ получает значение этого свойства дважды во время сохранения:Прежде, чем вызвать
writeSafelyToURL:ofType:forSaveOperation:error:
метод: Это должно проверить, возможно ли использование опции замены перемещением и, в противном случае чтобы позволить системе сохранять данные, вместо этого используя копирование.В
writeSafelyToURL:ofType:forSaveOperation:error:
метод: Это должно обнаружить, куда поместить файл резервной копии.
Когда Вы реализуете
writeSafelyToURL:ofType:forSaveOperation:error:
метод сNSSaveOperation
илиNSAutosaveInPlaceOperation
тип работы, необходимо проверить значение этого свойства. Если это неnil
, переместите предыдущее содержание файла (который был бы перезаписан) к расположению URL’s. Реализация по умолчаниюwriteSafelyToURL:ofType:forSaveOperation:error:
делает это.Создать файл резервной копии из Вашей пользовательской реализации
writeSafelyToURL:ofType:forSaveOperation:error:
метод, вызовитеNSFileManager
методreplaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:
, использование резервного названия товара[[self backupFileURL] lastPathComponent]
и опцияNSFileManagerItemReplacementWithoutDeletingBackupItem
опция. Если Ваша пользовательская реализация неспособна сохранить файл резервной копии, необходимо переопределить это свойство и возвратnil
гарантировать, что файл документа правильно сохраняется, прежде чем он будет перезаписан.Реализация по умолчанию
writeSafelyToURL:ofType:forSaveOperation:error:
метод возвращается не -nil
оцените на основе значения[self fileURL]
, но только если файл документа должен быть сохранен до сохранения или еслиpreservesVersions
возвраты методаNO
false
. Иначе, это возвращаетсяnil
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Расположение дискового представления документа.
Возвращаемое значение
Расположение документа.
Обсуждение
Реализация по умолчанию этого свойства возвращает URL открытого файла. Изменение значения этого свойства фактически не изменяет имя или расположение документа; это только для записи расположения документа во время его начального открытия или сохранения.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Булево значение, указывающее, является ли документ проектом, что пользователь не выразил интерес к имению в наличии.
Объявление
Swift
var draft: Bool
Objective C
@property(getter=isDraft) BOOL draft
Обсуждение
Когда пользователь закрывает проект документа, система представляет диалоговое окно Сохранения. Только документы с не -
nil
значения дляfileURL
свойство нужно считать проектами.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Устанавливает содержание этого документа путем чтения из файла или пакета файла, указанного типа, расположенного URL.
Объявление
Параметры
absoluteURL
Расположение, из которого читается содержание документа.
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если содержание документа не могло бы быть считано, указатель на ошибочный объект, инкапсулирующий причину, они не могли быть считаны.
Возвращаемое значение
YES
true
если могло бы быть считано содержание документа; иначе,NO
false
.Обсуждение
Реализация по умолчанию этого метода просто создает NSFileWrapper и вызывает
[self readFromFileWrapper:theFileWrapper ofType:typeName error:outError]
.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, реализация по умолчанию этого метода вместо этого вызывает
[self readFromFile:[absoluteURL path] ofType:typeName]
еслиreadFromFile:ofType:
переопределяется и URL используетfile:
схема.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Пишет содержание документа файлу или пакету файла, расположенному URL, отформатированным к указанному типу.
Объявление
Параметры
absoluteURL
Расположение, в которое записано содержание документа.
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если содержание документа не могло бы быть записано, указатель на ошибочный объект, инкапсулирующий причину, которая они не могли быть записаны.
Возвращаемое значение
YES
true
если могло бы быть записано содержание документа; иначе,NO
false
.Обсуждение
Реализация по умолчанию этого метода просто вызывает
[self fileWrapperOfType:typeName error:outError]
и пишет возвращенную обертку файла в диск.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, реализация по умолчанию этого метода вместо этого вызывает
[self writeToFile:[absoluteURL path] ofType:typeName]
еслиwriteToFile:ofType:
переопределяется и URL используетfile:
схема.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
writeSafelyToURL (_: ofType:forSaveOperation:error:) - writeSafelyToURL:ofType:forSaveOperation:error:
Пишет содержание документа файлу или пакету файла, расположенному URL.
Объявление
Swift
func writeSafelyToURL(_
absoluteURL
: NSURL, ofTypetypeName
: String, forSaveOperationsaveOperation
: NSSaveOperationType, erroroutError
: NSErrorPointer) -> BoolObjective C
- (BOOL)writeSafelyToURL:(NSURL *)
absoluteURL
ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
error:(NSError **)outError
Параметры
absoluteURL
Расположение, в которое записано содержание документа.
typeName
Строка, идентифицирующая тип документа.
saveOperation
Тип работы сохранения.
outError
По возврату, если содержание документа не могло бы быть записано, указатель на ошибочный объект, инкапсулирующий причину, которая они не могли быть записаны.
Возвращаемое значение
YES
true
если могло бы быть записано содержание документа; иначе,NO
false
.Обсуждение
Реализация по умолчанию этого метода вызывает
writeToURL:ofType:forSaveOperation:originalContentsURL:error:
. Это также вызываетfileAttributesToWriteToURL:ofType:forSaveOperation:originalContentsURL:error:
и пишет возвращенные атрибуты, если таковые имеются, к файлу. Это может скопировать некоторые атрибуты со старой дисковой версии документа одновременно, если применимо.Этот метод ответственен за то, что делал записи документа в пути, минимизирующем опасность оставить диск, к которому записи делаются в противоречивом состоянии в случае сбоя приложения, системного катастрофического отказа, отказа оборудования, перебоя в питании, и т.д. Если Вы переопределяете этот метод, несомненно, вызовут реализацию суперкласса.
Для
NSSaveOperation
, реализация по умолчанию этого метода использует значение вkeepBackupFile
свойство, чтобы определить, действительно ли старая дисковая версия документа, если было один, должно быть сохранено, будучи переименованным.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, реализация по умолчанию этого метода вместо этого вызывает
writeWithBackupToFile:ofType:saveOperation:
если тот метод, переопределяется, и URL используетfile:
схема. Работа сохранения в этом случае никогда неNSAutosaveOperation
;NSSaveToOperation
используется вместо этого.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
writeToURL (_: ofType:forSaveOperation:originalContentsURL:error:) - writeToURL:ofType:forSaveOperation:originalContentsURL:error:
Пишет содержание документа файлу или пакету файла, расположенному URL.
Объявление
Swift
func writeToURL(_
absoluteURL
: NSURL, ofTypetypeName
: String, forSaveOperationsaveOperation
: NSSaveOperationType, originalContentsURLabsoluteOriginalContentsURL
: NSURL?, erroroutError
: NSErrorPointer) -> BoolObjective C
- (BOOL)writeToURL:(NSURL *)
absoluteURL
ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
originalContentsURL:(NSURL *)absoluteOriginalContentsURL
error:(NSError **)outError
Параметры
absoluteURL
Расположение, в которое записано содержание документа.
typeName
Строка, идентифицирующая тип документа.
saveOperation
Тип работы сохранения.
absoluteOriginalContentsURL
Расположение ранее сохраненной копии документа (если нет
nil
).outError
По возврату, если содержание документа не могло бы быть записано, указатель на ошибочный объект, инкапсулирующий причину, которая они не могли быть записаны.
Возвращаемое значение
YES
true
если могло бы быть записано содержание документа; иначе,NO
false
.Обсуждение
Реализация по умолчанию этого метода просто вызывает
[self writeToURL:absoluteURL ofType:typeName error:outError]
. Можно переопределить этот метод вместо одного из трех простых методов записи (writeToURL:ofType:error:
,fileWrapperOfType:error:
, иdataOfType:error:
) если для Вашего документа, пишущий машинное оборудование нужен доступ к дисковому представлению версии документа, собирающейся, перезаписываются. ЗначениеabsoluteURL
часто не то же как[self fileURL]
. Другие времена это не то же как URL для заключительного места назначения сохранения. Аналогично,absoluteOriginalContentsURL
часто не то же значение как[self fileURL]
. ЕслиabsoluteOriginalContentsURL
nil
, или документ никогда не сохранялся или пользователь, удалил файл документа, так как это было открыто.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, если
writeToFile:ofType:originalFile:saveOperation:
переопределяется и оба URLs используетfile:
схема, реализация по умолчанию этого метода вместо этого вызывает:[self writeToFile:[absoluteURL path]
ofType:typeName
originalFile:[absoluteOriginalContentsURL path]
saveOperation:aSaveOperation];
Работа сохранения, используемая в этом случае, никогда не
NSAutosaveOperation
;NSSaveToOperation
используется вместо этого.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
fileAttributesToWriteToURL (_: ofType:forSaveOperation:originalContentsURL:error:) - fileAttributesToWriteToURL:ofType:forSaveOperation:originalContentsURL:error:
Поскольку файл сохранен, возвращает атрибуты, которые должны быть записаны в файл, или пакет файла, расположенный URL, отформатировал к указанному типу, поскольку деталь отчасти сохраняют работу.
Объявление
Swift
func fileAttributesToWriteToURL(_
absoluteURL
: NSURL, ofTypetypeName
: String, forSaveOperationsaveOperation
: NSSaveOperationType, originalContentsURLabsoluteOriginalContentsURL
: NSURL?, erroroutError
: NSErrorPointer) -> [NSObject : AnyObject]?Objective C
- (NSDictionary *)fileAttributesToWriteToURL:(NSURL *)
absoluteURL
ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
originalContentsURL:(NSURL *)absoluteOriginalContentsURL
error:(NSError **)outError
Параметры
absoluteURL
Расположение, в которое пишется документ.
typeName
Строка, идентифицирующая тип документа.
saveOperation
Тип работы сохранения.
absoluteOriginalContentsURL
Расположение ранее сохраненной копии документа (если нет
nil
).outError
По возврату, если атрибуты не могли бы быть возвращены, указатель на ошибочный объект, инкапсулирующий причину, они не могли быть возвращены.
Возвращаемое значение
Словарь, содержащий атрибуты, которые будут записаны, или
nil
если неуспешный.Обсуждение
Ваш подкласс
NSDocument
может переопределить этот метод для управления атрибутами, установленными во время работы сохранения. Переопределение этого метода должно возвратить копию словаря, возвращенного версией его суперкласса этого метода с надлежащими изменениями.Набор атрибутов правильного файла является подмножеством понятых под
NSFileManager
класс. Реализация по умолчанию этого метода возвращает пустой словарь дляNSSaveOperation
илиNSAutosaveInPlaceOperation
, или словарь с надлежащимNSFileExtensionHidden
запись для любого другого отчасти сохраняет работу. Можно переопределить этот метод для настройки атрибутов, записанных в файлы документов.Для обратной совместимости на уровне двоичных кодов с OS X v10.5 и ранее, реализация по умолчанию этого метода возвращает словарь с
NSFileHFSCode
иNSFileHFSTypeCode
записи, имеющие значение 0 дляNSSaveOperation
, в приложениях, соединенных против OS X v10.5 или ранее.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, реализация по умолчанию этого метода вместо этого вызывает
[self fileAttributesToWriteToFile:[url path] ofType:typeName saveOperation:aSaveOperation]
еслиfileAttributesToWriteToFile:ofType:saveOperation:
переопределяется и URL используетfile:
схема. Работа сохранения, используемая в этом случае, никогда не является одним из сохраняющихся автоматически:NSSaveToOperation
используется вместо этого.Реализация по умолчанию
writeSafelyToURL:ofType:forSaveOperation:error:
автоматически копирует важные атрибуты как полномочия файла, дата создания и информация о Средстве поиска от старой дисковой версии документа новому во времяNSSaveOperation
илиNSAutosaveInPlaceOperation
. Этот метод предназначается, чтобы использоваться только для атрибутов, которые должны быть записаны впервые, дляNSSaveAsOperation
иNSSaveToOperation
.url
иabsoluteOriginalContentsURL
параметры передаются в для полноты; реализация по умолчанию NSDOCUMENT не должна использовать их.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
saveToURL (_: ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:) - saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:
Поскольку деталь отчасти сохраняют работу, сохраняет содержание документа файлу или пакету файла, расположенному URL, отформатированным к указанному типу.
Объявление
Swift
func saveToURL(_
absoluteURL
: NSURL, ofTypetypeName
: String, forSaveOperationsaveOperation
: NSSaveOperationType, delegatedelegate
: AnyObject?, didSaveSelectordidSaveSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)saveToURL:(NSURL *)
absoluteURL
ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
delegate:(id)delegate
didSaveSelector:(SEL)didSaveSelector
contextInfo:(void *)contextInfo
Параметры
absoluteURL
Расположение файла или пакета файла, к которому сохраняется содержание документа.
typeName
Строка, идентифицирующая тип документа.
saveOperation
Тип работы сохранения.
delegate
Делегат, в которого отправляется селекторное сообщение.
didSaveSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
Когда сохранение завершается, независимо от успешности или неуспешности, метод отправляет сообщение, выбранное
didSaveSelector
кdelegate
, сcontextInfo
как последний параметр. Метод выбранdidSaveSelector
должен иметь ту же подпись как:- (void)document:(NSDocument *)document didSave:(BOOL)didSaveSuccessfully contextInfo:(void *)contextInfo;
Реализация по умолчанию этого метода вызывает
[self saveToURL:absoluteURL ofType:typeName forSaveOperation:saveOperation error:&anError]
и, еслиNO
false
возвращается, представляет ошибку пользователю в модальной документом панели прежде, чем передать делегата.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
canAsynchronouslyWriteToURL (_: ofType:forSaveOperation:) - canAsynchronouslyWriteToURL:ofType:forSaveOperation:
Возвраты, может ли получатель одновременно записать в файл или пакет файла, расположенный URL, отформатированным для определенного типа, для определенного отчасти сохраняют работу.
Объявление
Swift
func canAsynchronouslyWriteToURL(_
url
: NSURL, ofTypetypeName
: String, forSaveOperationsaveOperation
: NSSaveOperationType) -> BoolObjective C
- (BOOL)canAsynchronouslyWriteToURL:(NSURL *)
url
ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
Параметры
url
Расположение файла или пакета, в который записан документ.
typeName
Строка, идентифицирующая тип документа.
saveOperation
Тип работы сохранения.
Возвращаемое значение
NO
false
по умолчанию; подклассы могут переопределить для возвратаYES
true
, таким образом, включающая асинхронная запись.Обсуждение
Реализация по умолчанию этого метода возвраты
NO
false
. Вы строго призваны переопределить его и заставить его возвратитьсяYES
true
, после проверки Ваших переопределений методов записи документа может быть безопасно вызван на неосновной поток, и удостоверившись чтоunblockUserInteraction
метод вызывается в некоторое подходящее время во время записи.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает объект, инкапсулирующий текущую запись изменений документа в начале работы сохранения.
Объявление
Swift
func changeCountTokenForSaveOperation(_
saveOperation
: NSSaveOperationType) -> AnyObjectObjective C
- (id)changeCountTokenForSaveOperation:(NSSaveOperationType)
saveOperation
Параметры
saveOperation
Тип работы сохранения.
Возвращаемое значение
Объект, инкапсулирующий изменения документа.
Обсуждение
Возвращенный объект предназначается, чтобы быть переданным
updateChangeCountWithToken:forSaveOperation:
в конце работы сохранения. Например,saveToURL:ofType:forSaveOperation:completionHandler:
вызывает этот метод, на основном потоке, прежде чем это сделает любое фактическое сохранение. Этот метод упрощает асинхронное сохранение, во время которого пользователь может изменить документ, в то время как это сохраняется.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
saveToURL (_: ofType:forSaveOperation:completionHandler:) - saveToURL:ofType:forSaveOperation:completionHandler:
Сохраняет содержание документа файлу или пакету файла, расположенному URL, отформатированным к указанному типу, поскольку деталь отчасти сохраняют работу, и вызывает переданный - в обработчике завершения.
Объявление
Swift
func saveToURL(_
url
: NSURL, ofTypetypeName
: String, forSaveOperationsaveOperation
: NSSaveOperationType, completionHandlercompletionHandler
: (NSError!) -> Void)Objective C
- (void)saveToURL:(NSURL *)
url
ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
completionHandler:(void (^)(NSError *errorOrNil))completionHandler
Параметры
url
Расположение, в которое записано содержание документа.
typeName
Тип документа.
saveOperation
Тип работы сохранения.
completionHandler
Блочный объект обработчика завершения передал в быть вызванным в некоторый момент в будущем, возможно после того, как возвратился вызов метода. Обработчик завершения должен быть вызван на основной поток.
Блок берет один параметр:
errorOrNil
Если успешный, передача a
nil
ошибка. Если не успешный, передайтеNSError
объект, инкапсулирующий причину, почему не мог быть сохранен документ.Обсуждение
Реализация по умолчанию этого метода вызывает
canAsynchronouslyWriteToURL:ofType:forSaveOperation:
. Если записи не могут делаться одновременно, они вызываютwriteSafelyToURL:ofType:forSaveOperation:error:
на основном потоке потока. Если записи могут делаться одновременно, они вызывают тот метод на различный поток, но блокируют основной поток, пока что-то не вызываетunblockUserInteraction
. Так или иначе, еслиwriteSafelyToURL:ofType:forSaveOperation:error:
возвратыYES
true
, это обновляет значения вfileModificationDate
,fileType
,fileURL
, иautosavedContentsFileURL
свойства и вызовыupdateChangeCount:
метод как надлежащий на основном потоке. Это также обновляет информацию этоsaveDocumentWithDelegate:didSaveSelector:contextInfo:
использование для проверки на модификацию, переименование, перемещение, удаление и повреждение открытых документов, и удаляет сохраненные автоматически файлы содержания, когда они стали устаревшими. Можно переопределить этот метод, чтобы сделать вещи, которые должны быть сделаны прежде или после того, как любой сохраняет работу, но убеждаться вызватьsuper
.Для обратной совместимости на уровне двоичных кодов с OS X v10.6 и ранее, реализация по умолчанию этого метода вместо этого вызывает
saveToURL:ofType:forSaveOperation:error:
если тот метод переопределяется, и этот не, и он передает любую ошибку обработчику завершения.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Записывает факт, что сохранение следовало и обновляет связанные аспекты механизма количества изменения.
Объявление
Swift
func updateChangeCountWithToken(_
changeCountToken
: AnyObject, forSaveOperationsaveOperation
: NSSaveOperationType)Objective C
- (void)updateChangeCountWithToken:(id)
changeCountToken
forSaveOperation:(NSSaveOperationType)saveOperation
Параметры
changeCountToken
Объект, инкапсулирующий изменения документа, возвращенные из
changeCountTokenForSaveOperation:
.saveOperation
Тип работы сохранения.
Обсуждение
Этот метод обновляет значения в
documentEdited
иhasUnautosavedChanges
свойства. Например,saveToURL:ofType:forSaveOperation:completionHandler:
вызывает этот метод, на основном потоке, когда это сделано, сохранив. Реализация по умолчанию этого метода также отправляет все контроллеры окна документаsetDocumentEdited:
сообщения в надлежащих случаях.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Разблокирует основной поток во время асинхронного сохранения.
Объявление
Swift
func unblockUserInteraction()
Objective C
- (void)unblockUserInteraction
Обсуждение
Если
saveToURL:ofType:forSaveOperation:completionHandler:
пишет на неосновном потоке потому чтоcanAsynchronouslyWriteToURL:ofType:forSaveOperation:
возвратилсяYES
true
, но это все еще блокирует основной поток, этот метод разблокирует основной поток. Иначе, это ничего не делает. Например, реализация по умолчаниюfileWrapperOfType:error:
вызывает это, когда это создалоNSFileWrapper
возразите для возврата. Предположение, чтоNSFileWrapper
не видоизменен действиями следующего пользователя, это - эффективно «снимок» содержания документа, и как только это создается, безопасно продолжить обрабатывать пользовательские события на основном потоке, даже при том, что некоторые из тех пользовательских событий могли бы изменить содержание документа передNSFileWrapper
объект был безопасно записан. Если Вы переопределили, можно вызвать этот метод для создания асинхронного сохранения фактически асинхроннымwriteSafelyToURL:ofType:forSaveOperation:error:
,writeToURL:ofType:forSaveOperation:originalContentsURL:error:
, илиwriteToURL:ofType:error:
таким способом, который вызов этого метода, сделанногоwriteToURL:ofType:error:
реализация по умолчанию не произойдет во время записи.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Вызывает переданный - в блоке для предотвращения мертвой блокировки если
performActivityWithSynchronousWaiting:usingBlock:
вызывается рекурсивно.Объявление
Swift
func continueActivityUsingBlock(_
block
: () -> Void)Objective C
- (void)continueActivityUsingBlock:(void (^)(void))
block
Параметры
block
Блок, который будет вызван.
Обсуждение
Блок если, переданный
performActivityWithSynchronousWaiting:usingBlock:
вызывается, этот метод вызывает переданный - в блоке, записав состояние, делающее внутренние вызовыperformActivityWithSynchronousWaiting:usingBlock:
не ожидают. Если этот метод вызывается за пределами вызова блока, переданногоperformActivityWithSynchronousWaiting:usingBlock:
, этот метод просто вызывает переданный - в блоке.Когда код, выполняемый в блоке, передал, этот метод полезен
performActivityWithSynchronousWaiting:usingBlock:
май также вызывает тот метод. Например,saveDocumentWithDelegate:didSaveSelector:contextInfo:
, который используетperformActivityWithSynchronousWaiting:usingBlock:
, использование это вокруг его вызоваrunModalSavePanelForSaveOperation:delegate:didSaveSelector:contextInfo:
илиsaveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:
потому что оба из тех методов также используютperformActivityWithSynchronousWaiting:usingBlock:
. Без использования этого метода внутренний вызовperformActivityWithSynchronousWaiting:usingBlock:
ожидал бы навсегда.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
continueAsynchronousWorkOnMainThreadUsingBlock (_:) - continueAsynchronousWorkOnMainThreadUsingBlock:
Вызывает переданный - в блоке на основном потоке.
Объявление
Swift
func continueAsynchronousWorkOnMainThreadUsingBlock(_
block
: () -> Void)Objective C
- (void)continueAsynchronousWorkOnMainThreadUsingBlock:(void (^)(void))
block
Параметры
block
Блок, который будет вызван.
Обсуждение
Если основной поток блокируется вызовом
performActivityWithSynchronousWaiting:usingBlock:
илиperformSynchronousFileAccessUsingBlock:
, эти прерывания метода, которые блокирование для вызова блока, и затем продолжает блокировать, когда возвратился вызов блока. Вызовы этого метода всегда возвращаются, прежде чем переданный - в блоке вызывается.Можно вызвать этот метод, когда работа выполняется на неосновном потоке, и часть работы должна продолжаться на основном потоке. Например,
saveToURL:ofType:forSaveOperation:completionHandler:
использование этот метод, когда это только что завершило фактическую запись файла во время асинхронного сохранения и, для окончания работы сохранения, должно вызватьupdateChangeCountWithToken:forSaveOperation:
и другие методы на основном потоке.Этот метод может быть вызван на любой поток.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
performActivityWithSynchronousWaiting (_: usingBlock:) - performActivityWithSynchronousWaiting:usingBlock:
Ожидает любой работы, которая, как запланировали предыдущие вызовы этого метода, будет завершаться, затем вызывает переданный - в блоке.
Объявление
Swift
func performActivityWithSynchronousWaiting(_
waitSynchronously
: Bool, usingBlockinBlock
: ((() -> Void)!) -> Void)Objective C
- (void)performActivityWithSynchronousWaiting:(BOOL)
waitSynchronously
usingBlock:(void (^)(void (^activityCompletionHandler)(void)))inBlock
Параметры
waitSynchronously
Если
YES
true
, метод не возвращается, пока предыдущие действия не завершены, и переданный - в блоке был вызван. ЕслиNO
false
, метод мог бы возвратиться, прежде чем передано - в блоке, вызывается. Это могло бы вместо этого быть вызвано позже на основном потоке, после того, как предыдущие действия завершены.inBlock
Блок, выполняющий работу, которая могла бы привести к представлению модального диалогового окна.
Обсуждение
Блок передается другой блок, обработчик завершения действия, который должен быть вызван, когда действие завершено.
Основное использование этого метода должно ожидать асинхронного сохранения. С асинхронным сохранением для пользователя возможно спровоцировать действие пользовательского интерфейса, которое могло бы представить модальное диалоговое окно, лист, например, когда асинхронное сохранение собирается привести к сбою и представить собственный ошибочный лист предупреждения, который не работал бы. Этот метод решает ту проблему. Если Ваш
NSDocument
разделите на подклассы поддерживает асинхронное сохранение, необходимо вызвать этот метод вокруг производительности любой работы, которая могла бы вызвать представление модального диалогового окна, независимо от того, выполняется ли та работа синхронно или асинхронно. Вот списокNSDocument
методы, реализации по умолчанию которых вызывают этот метод, потому что они могли бы представить листы, или для выяснения у пользователя, что сделать, поскольку они начинают свою работу или потому что они могут привести к сбою и представить ошибки пользователю:runModalSavePanelForSaveOperation:delegate:didSaveSelector:contextInfo:
saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:
canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo:
duplicateDocumentWithDelegate:didDuplicateSelector:contextInfo:
runModalPageLayoutWithPrintInfo:delegate:didRunSelector:contextInfo:
printDocumentWithSettings:showPrintPanel:delegate:didPrintSelector:contextInfo:
Больше использования этого метода может быть добавлено к
NSDocument
в будущем.Этот метод должен быть вызван на основной поток. Если
YES
true
передается дляwaitSynchronously
параметр, метод ожидает на основном потоке, блокируя дальнейшее взаимодействие с пользователем с документом. Цель блокировать основной поток состоит в том так, чтобы пользователь не мог продолжать изменять документ, в то время как действие находится на рассмотрении. Это предотвращает, например, ситуацию, в которой пользователь принимает решение вернуться документ, но возвращение сразу не происходит, потому что асинхронное сохранение все еще происходит, все же пользователь в состоянии продолжать изменять документ, и затем те изменения сразу отбрасываются, когда асинхронное сохранение завершено, и документ вернулся. Весь изNSDocument
методы упомянули выше передачуYES
true
дляwaitSynchronously
.Вы передаете
NO
false
дляwaitSynchronously
когда работа, которая будет сделана, спровоцирована пользователем так косвенно, что работа могла бы начаться, когда уже представляется модальное диалоговое окно. Например, другой метод, реализация по умолчанию которого вызывает этот метод, на сей раз передаваяNO
false
дляwaitSynchronously
:autosaveDocumentWithDelegate:didAutosaveSelector:contextInfo:
Этот метод мог бы представить ошибочное предупреждение, но он обычно вызывается таймером. Если это передало
YES
true
дляwaitSynchronously
, и таймер стрелял, в то время как пользователь смотрел на лист, представленный предыдущим действием, блокирование основного потока предотвратит обработку событий пользовательского интерфейса, необходимых для отклонения того листа и завершенный что предыдущее действие. Мертвая блокировка закончилась бы.Заставляете ли Вы этот метод ожидать синхронно или асинхронно выполнить, Ваша работа является отдельной от того, выполнена ли Ваша работа синхронно или асинхронно. Например, как упомянуто выше,
saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:
передачиYES
true
дляwaitSynchronously
когда это использует этот метод, даже при том, что большинство работы, которую это выполняет, может быть сделано асинхронно.Вы не должны вызывать этот метод во время вызова блока, переданного
performSynchronousFileAccessUsingBlock:
или промежуточный времяperformAsynchronousFileAccessUsingBlock:
вызывает блок, переданный ему и время, в которое вызывается соответствующий обработчик завершения доступа к файлу. Если Вы делаете, мертвая блокировка может закончиться. Другими словами, Вы не можете начать новое действие как часть доступа к файлу. Можно, с другой стороны, вызватьperformSynchronousFileAccessUsingBlock:
илиperformAsynchronousFileAccessUsingBlock:
как часть действия.Некоторые асинхронные действия, такие как сохранение, должны выполнить работу на основном потоке, поскольку они завершаются. Если бы не было никакого способа прервать блокирование этого метода основного потока, мертвая блокировка была бы неизбежна. Посмотрите
continueAsynchronousWorkOnMainThreadUsingBlock:
узнать, как прервать блокирование этого метода основного потока.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Ожидает любого запланированного доступа к файлу для завершения, но не блокируя основной поток, затем вызывает переданный - в блоке.
Объявление
Swift
func performAsynchronousFileAccessUsingBlock(_
inBlock
: ((() -> Void)!) -> Void)Objective C
- (void)performAsynchronousFileAccessUsingBlock:(void (^)(void (^fileAccessCompletionHandler)(void)))
inBlock
Параметры
inBlock
Блок, выполняющий доступ к файлу.
Обсуждение
Этот метод делает тот же вид работы как
performSynchronousFileAccessUsingBlock:
, но никогда не блокируя основной поток, и может не вызвать блок, пока вызов метода не возвратился, хотя все еще всегда на том же потоке как вызов метода. Блок передается другой блок, обработчик завершения доступа к файлу, который должен быть вызван, когда доступ к файлу завершен, хотя это может быть вызвано от любого потока. Этот метод для использования с доступом к файлу, который мог бы начаться на одном потоке, но продолжить другой, прежде чем это будет завершено. Например,saveToURL:ofType:forSaveOperation:completionHandler:
использование этот метод вместоperformSynchronousFileAccessUsingBlock:
потому что, если это делает асинхронное сохранение тогда, нет никакого пути к нему для завершения всего его доступа к файлу прежде, чем возвратиться из блока доступа к файлу.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Ожидает любого запланированного доступа к файлу для завершения, затем вызывает переданный - в блоке.
Объявление
Swift
func performSynchronousFileAccessUsingBlock(_
block
: () -> Void)Objective C
- (void)performSynchronousFileAccessUsingBlock:(void (^)(void))
block
Параметры
block
Блок, выполняющий доступ к файлу.
Обсуждение
Учитывая блок, который выполнит доступ к файлу, этот метод ожидает любого доступа к файлу, запланированного предыдущими вызовами этого метода или
performAsynchronousFileAccessUsingBlock:
для завершения, затем вызывает переданный - в блоке. Когда блочный вызов возвращается, метод позволяет следующий запланированный доступ к файлу к быть выполненным, если таковые имеются.Как
performActivityWithSynchronousWaiting:usingBlock:
, основное использование этого метода должно ожидать асинхронного сохранения, но в отличие от того метода это только для части асинхронной работы сохранения, фактически касающейся файла документа или значений в памяти, которые являются относительно файла документа.В целом необходимо использовать этот метод или
performAsynchronousFileAccessUsingBlock:
вокруг кода, получающего или устанавливающего значения в памяти, которые только целесообразны в контексте текущего состояния файла документа. Например,NSDocument
самостоятельно последовательно использование этот механизм при использовании следующих методов и свойств:fileType
,fileURL
,fileModificationDate
, иautosavedContentsFileURL
свойства, потому что Вы не можете надежно принять решения на основе расположения файла, вводят, или дата модификации, когда она асинхронно перемещается, переименовывается или изменяется в тот момент.documentEdited
иhasUnautosavedChanges
свойства, потому что Вы не можете надежно принять решения на основе того, было ли содержание документа в памяти сохранено к файлу, когда она асинхронно сохраняется в тот момент.updateChangeCountWithToken:forSaveOperation:
и, иногда,updateChangeCount:
, сделать использование этого механизма при вызовеdocumentEdited
иhasUnautosavedChanges
значимый.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает булево значение, указывающее, безопасно ли, вероятно, сохранить изменения документа автоматически.
Объявление
Swift
func checkAutosavingSafetyAndReturnError(_
outError
: NSErrorPointer) -> BoolObjective C
- (BOOL)checkAutosavingSafetyAndReturnError:(NSError **)
outError
Параметры
outError
Если
NO
false
возвращается, указатель на ошибочный объект, инкапсулирующий причину, документ не должен быть сохранен автоматически.Возвращаемое значение
YES
true
если автоматическое сохранение документа, вероятно, безопасно; иначе,NO
false
.Обсуждение
Реализация по умолчанию этого метода проверяет на документы, не измененные в некоторое время («некоторое время» подвержен изменениям), или сохраняются в папках, где пользователь обычно не редактирует документы (
~/Downloads
папка, например). Когда это обнаруживает один из тех случаев, это возвращаетсяNO
false
сNSError
объект, имеющий опции восстановления как Копия, Отмена, и Разблокировавший.В приложении, принявшем автоматическое сохранение на месте путем переопределения
autosavesInPlace
возвратитьсяYES
true
, можно переопределить этот метод для настройки сохраняющейся автоматически безопасности, проверяющей этоNSDocument
делает по умолчанию. Можно удалитьNSDocument
проверяющий значения по умолчанию, переопределяющий этот метод и не вызывающий супер. Можно добавить кNSDocument
проверяющий значения по умолчанию, вызывающий супер и затем делающий Вашу собственную проверку, если[super checkAutosavingSafetyAndReturnError:]
не сигнализировал ошибку. Например, TextEdit переопределяет этот метод для выяснения у пользователя, что сделать, когда открытие файла документа было с потерями и перезаписало, что файл мог бы поэтому быть с потерями.Когда автоматическое сохранение на месте включено
NSDocument
объект может вызвать этот метод, когда это получает уведомление отNSUndoManager
возразите, что пользователь изменил документ, или отменил или восстановил изменение. Если ошибка возвращается,NSDocument
представляет ошибку пользователю, позволяя пользователю выбрать опцию восстановления. Если пользователь выбирает опцию восстановления, тоNSDocument
вызывает этот метод снова, пока никакая ошибка не сообщена, чтобы удостовериться, что были сделаны все проверки. Это означает, что, когда Вы сигнализируете, ошибка и выбор пользователем опции восстановления указывают, что они видели и игнорировали беспокойство безопасности, необходимо записать тот факт и не сделать ту определенную проверку безопасности снова. Как только все ошибки обрабатываются,NSDocument
продолжается путем вызоваupdateChangeCount:
. Если пользователь не восстанавливается с ошибки, тоNSDocument
вызывает один изNSUndoManager
методыundo
илиredo
откатывать изменение. Так, часть изNSError
опции восстановления пользователь могут выбрать, какNSDocument
опции Duplicate и Cancel, должны указать отказавшее восстановление и заставить документ оставаться неизменным позже.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Планирует периодическое автоматическое сохранение в целях противоаварийной защиты.
Объявление
Swift
func scheduleAutosaving()
Objective C
- (void)scheduleAutosaving
Обсуждение
Реализация по умолчанию этого метода проверяет, чтобы видеть, включено ли автоматическое сохранение и, раз так и если
[self hasUnautosavedChanges]
возвратыYES
true
, расписанияNSTimer
вызватьautosaveDocumentWithDelegate:didAutosaveSelector:contextInfo:
в будущем. Если[self hasUnautosavedChanges]
возвратыNO
false
это не планирует любой ранее запланированный таймер. Это заботится для не порожденияautosaveDocumentWithDelegate:didAutosaveSelector:contextInfo:
чтобы быть вызванным перед, предыдущий вызов, вызванный им, закончился. Точные синхронизации, которые это использует, являются сложными и подлежат изменению в будущих выпусках OS X. Когда точно периодическое автоматическое сохранение происходит, можно переопределить этот метод для управления. Это вызываетсяupdateChangeCount:
иupdateChangeCountWithToken:forSaveOperation:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Булево значение, указывающее, имеет ли документ несохраненные автоматически изменения. (только для чтения)
Объявление
Swift
var hasUnautosavedChanges: Bool { get }
Objective C
@property(readonly) BOOL hasUnautosavedChanges
Обсуждение
Значение этого свойства
YES
true
если документ имеет несохраненные автоматически изменения; иначе, значениеNO
false
. Документ не сохранил изменения когдаupdateChangeCount:
метод вызвали начиная с последнего сохранения.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
autosaveDocumentWithDelegate (_: didAutosaveSelector:contextInfo:) - autosaveDocumentWithDelegate:didAutosaveSelector:contextInfo:
Сохраняет содержание документа автоматически в надлежащем расположении.
Объявление
Swift
func autosaveDocumentWithDelegate(_
delegate
: AnyObject?, didAutosaveSelectordidAutosaveSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)autosaveDocumentWithDelegate:(id)
delegate
didAutosaveSelector:(SEL)didAutosaveSelector
contextInfo:(void *)contextInfo
Параметры
delegate
Делегат, в которого отправляется селекторное сообщение.
didAutosaveSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
После автоматического сохранения, отправляет сообщение, выбранное
didAutosaveSelector
делегату, сcontextInfo
как последний параметр. Метод выбранdidAutosaveSelector
должен иметь ту же подпись как:- (void)document:(NSDocument *)document didAutosave:(BOOL)didAutosaveSuccessfully contextInfo:(void *)contextInfo
Если ошибка происходит при автоматическом сохранении, метод сообщает о нем пользователю прежде, чем отправить делегата a
succeeded:NO
сообщение.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
autosaveWithImplicitCancellability (_: completionHandler:) - autosaveWithImplicitCancellability:completionHandler:
Сохраняет содержание документа автоматически в надлежащем расположении, если ему нужно автоматическое сохранение.
Объявление
Swift
func autosaveWithImplicitCancellability(_
autosavingIsImplicitlyCancellable
: Bool, completionHandlercompletionHandler
: (NSError!) -> Void)Objective C
- (void)autosaveWithImplicitCancellability:(BOOL)
autosavingIsImplicitlyCancellable
completionHandler:(void (^)(NSError *errorOrNil))completionHandler
Параметры
autosavingIsImplicitlyCancellable
Значение в
autosavingIsImplicitlyCancellable
свойство, в то время как происходит автоматическое сохранение.completionHandler
Блочный объект обработчика завершения передал в быть вызванным в некоторый момент в будущем, возможно после того, как возвратился вызов метода. Обработчик завершения должен быть вызван на основной поток.
Блок берет один параметр:
errorOrNil
Если успешный, передача a
nil
ошибка. Если не успешный, передайтеNSError
объект, инкапсулирующий причину, почему документ не мог быть сохранен автоматически.Обсуждение
Реализация по умолчанию этого метода делает следующее:
Проверяет значение
hasUnautosavedChanges
свойство.Если значение того свойства
NO
false
, метод выполняет обработчик завершения с anil
ошибка и возвраты сразу.Если значение
YES
true
, вызовыautosavesInPlace
на классе для определения, куда должно пойти сохраненное автоматически содержание документа.Метод также вкладывает значение
fileURL
гарантировать, что файл имеет фактический URL, потому что не возможно сохраниться автоматически на месте, если документ еще не имеет постоянного расположения.Регистрирует значение
autosavingFileType
свойство для определения типа файла для сохраненного автоматически файла.Вызовы
saveToURL:ofType:forSaveOperation:completionHandler:
.Значение
saveToURL
параметр является расположением, где должен быть сохранен файл. Если файл имеет URL, и класс указывает, что автосохранение должно произойти на месте, это - URL файла. Иначе, это - расположение несуществующего файла в указанном расположении автосохранения.Значение для
ofType
параметр определяется вызовом кautosavingFileType
.Значение
forSaveOperation
параметрNSAutosaveInPlaceOperation
если класс сконфигурирован для автоматического сохранения на месте, и файл имеет URL. Иначе, значениеNSAutosaveElsewhereOperation
.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Возвраты, ли поддержки получателя, сохраняющиеся автоматически на месте.
Объявление
Swift
class func autosavesInPlace() -> Bool
Objective C
+ (BOOL)autosavesInPlace
Возвращаемое значение
YES
true
если поддержки получателя, сохраняющиеся автоматически на месте;NO
false
иначе.Обсуждение
Реализация по умолчанию этого метода возвраты
NO
false
. Можно переопределить его и возвратYES
true
объявить что Ваш подклассNSDocument
может сделать автоматическое сохранение на месте. Вы не должны вызывать этот метод, чтобы узнать, делается ли автоматическое сохранение на месте фактически в какой-либо определенный момент. Необходимо вместо этого использоватьSave Operation Types
параметр, который система передает Вашим переопределениям сохранения и методов записи.AppKit вызывает этот метод во множестве времен, и не всегда на основном потоке. Например,
autosaveWithImplicitCancellability:completionHandler:
вызывает этот метод как часть определения, будет ли автоматическое сохранение выполняться на месте (NSAutosaveInPlaceOperation
) или в отдельном каталоге автосохранения (NSAutosaveElsewhereOperation
). Как другой пример,canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo:
метод иNSDocumentController
машинное оборудование для обработки несохраненных изменений во время завершения приложения оба вызывает этот метод как часть определения, должны ли предупреждения о несохраненных изменениях быть представлены пользователю.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Возвраты, ли подкласс получения
NSDocument
автоматическое сохранение поддержек проектов.Объявление
Swift
class func autosavesDrafts() -> Bool
Objective C
+ (BOOL)autosavesDrafts
Возвращаемое значение
YES
true
если подкласс полученияNSDocument
автоматическое сохранение поддержек проектов; иначеNO
false
.Обсуждение
Система ожидает что
NSDocument
возвращающийся подклассYES
true
от этого метода может должным образом обработать, сохраняют операции, использующиеNSAutosaveAsOperation
сохраните тип работы.Реализация по умолчанию этого метода возвраты
YES
true
для приложений, соединенных на или после OS X, v10.8, и возвраты не для приложений соединился против более ранних версий OS X.Выбирать из автоматического сохранения в Вашем
NSDocument
разделите на подклассы при соединении на или после OS X v10.8, переопределите этот метод для возвратаNO
false
.При соединении против версии OS X до 10,8, можно объявить что Ваш
NSDocument
разделите на подклассы поддержки, сохраняющиеся автоматически путем переопределения этого метода для возвратаYES
true
.AppKit вызывает этот метод неоднократно. Например, когда
updateChangeCount:
с методом вызываютNSChangeDone
но безNSChangeDiscardable
измените тип,NSDocument
будет следующее автосохранение, которое будет использоватьNSAutosaveAsOperation
и возвратите документ в проект.Не вызывайте этот метод, чтобы узнать, будет ли сделано автоматическое сохранение проекта.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Возвраты, ли подкласс получения
NSDocument
Версии поддержек.Объявление
Swift
class func preservesVersions() -> Bool
Objective C
+ (BOOL)preservesVersions
Возвращаемое значение
YES
true
если подкласс полученияNSDocument
Версии поддержек; иначеNO
false
.Обсуждение
Реализация по умолчанию этого метода возвраты
[self autosavesInPlace]
. Можно переопределить его и возвратNO
false
объявить этоNSDocument
не должен сохранять старые версии документа.Возврат
NO
false
от этого метода отключает просмотр версии иrevertDocumentToSaved:
, которые полагаются на сохранение версии при автоматическом сохранении на месте. ВозвратYES
true
от этого метода, когдаautosavesInPlace
возвратыNO
false
приведет к неопределенному поведению.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Открывает браузер Версий в главном окне документа.
Объявление
Swift
@IBAction func browseDocumentVersions(_
sender
: AnyObject?)Objective C
- (IBAction)browseDocumentVersions:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Это - действие пункта меню Browse Saved Versions в основанном на документе приложении.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
autosavingFileType autosavingFileType
СвойствоВозвращает тип документа, который должен использоваться для работы автосохранения. (только для чтения)
Объявление
Swift
var autosavingFileType: String? { get }
Objective C
@property(readonly, copy) NSString *autosavingFileType
Обсуждение
Это свойства содержат строку, идентифицирующую тип документа для файлов автосохранения. Реализация по умолчанию просто возвращает значение, предоставленное
fileType
свойство. Можно переопределить это свойство и возвратnil
полностью отключить автоматическое сохранение отдельных документов (потому что объект NSDocumentController не вызываетautosaveDocumentWithDelegate:didAutosaveSelector:contextInfo:
метод документа, не имеющего никакого типа файла автоматического сохранения). Можно также переопределить его, если приложение определяет тип документа, который специально предназначен для автоматического сохранения, например, тот, эффективно представляющий изменения содержания документа вместо полного содержания документа.Переопределение этого свойства может привести к неправильному поведению во время повторного открытия сохраненных автоматически документов.
NSDocument
методinitForURL:withContentsOfURL:ofType:error:
, то, которое вызывается во время повторного открытия сохраненных автоматически документов после катастрофического отказа, берет два URLs, но только имя типа сохраненного автоматически файла содержания. Реализация по умолчанию обновляетfileType
свойство с тем именем типа, но это может не быть правильным решением, если это свойство содержит что-то другое, чемfileType
во время автоматического сохранения документа. Если Вы переопределяетеautosavingFileType
, вероятно, необходимо переопределитьinitForURL:withContentsOfURL:ofType:error:
также, и сделайте обновление переопределенияfileType
с типом фактического файла документа, после вызоваsuper
. Посмотрите TextEditDocument
класс для примера того, как сделать это.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Булево значение, указывающее, происходит ли автоматическое сохранение теперь, но могло бы быть безопасно отменено. (только для чтения)
Объявление
Swift
var autosavingIsImplicitlyCancellable: Bool { get }
Objective C
@property(readonly) BOOL autosavingIsImplicitlyCancellable
Обсуждение
Значение этого свойства
YES
true
если бы автоматическое сохранение происходит, но ничто плохо не произошло бы, если бы оно было отменено. Например, когда периодическое автоматическое сохранение делается только для противоаварийной защиты, которая не должна быть сделана все время, это свойство установлено вYES
true
. Когда автоматическое сохранение делается, потому что документ закрывается, свойство установлено вNO
false
.Когда значение
YES
true
, Ваш пишущий документ код может вызватьunblockUserInteraction
после записи факта, изменяющегося на модель документа, сделанную пользователем, должен сначала отменить остальную часть записи. Ваш код, вносящий изменения в модель документа тогда, должен всегда делать ту отмену сначала. Если Ваш код записи неявно отменяется таким образом, он должен установитьNSError
объект передал в отношении метода записи дляNSUserCancelledError
вNSCocoaErrorDomain
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Расположение последний раз сохраненного автоматически содержания документа.
Объявление
Swift
@NSCopying var autosavedContentsFileURL: NSURL?
Objective C
@property(copy) NSURL *autosavedContentsFileURL
Обсуждение
Используйте это свойство для указания расположения, где Вы хотите, чтобы документ хранил файлы автосохранения. URL, который Вы указываете, должен указать абсолютный путь, не относительный путь.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Перемещает документ в хранение iCloud пользователя в ответ на пользователя, выбор Move к iCloud … пункт меню.
Объявление
Swift
@IBAction func moveDocumentToUbiquityContainer(_
sender
: AnyObject?)Objective C
- (IBAction)moveDocumentToUbiquityContainer:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Это - метод действия Перемещения к iCloud … пункт меню в основанном на документе приложении. Реализация по умолчанию дарит пользователю предупреждение, просящее подтвердить перемещение прежде, чем вызвать
moveToURL:completionHandler:
метод с URL в контейнере повсеместности приложения по умолчанию.См. Движущиеся Документы для описаний методов для перемещения документа локальному пути.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Возвраты, ли Ваш
NSDocument
подкласс позволяет использование хранения документов iCloud.Объявление
Swift
class func usesUbiquitousStorage() -> Bool
Objective C
+ (BOOL)usesUbiquitousStorage
Обсуждение
Возвраты реализации по умолчанию этого метода
YES
true
если Ваше приложение имеет допустимое право хранения документов iCloud (com.apple.developer.ubiquity-container-identifiers
илиcom.apple.developer.icloud-container-identifiers
, как описано в Дающей право Ключевой Ссылке). Когда возвращается этот методYES
true
, система добавляет новые пункты меню и другой UI для документов iCloud, как надлежащие, и позволяет документам быть сохраненными или перемещенными в основной контейнер iCloud. (Основной контейнер iCloud является тем, идентифицированным первой контейнерной строкой идентификатора в списке Контейнеров iCloud в цели XCode редактор.)Указать что Ваш
NSDocument
подкласс не использует хранение iCloud, переопределяет этот метод для возвратаNO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Сохраняет связанное с интерфейсом состояние документа.
Объявление
Swift
func encodeRestorableStateWithCoder(_
coder
: NSCoder)Objective C
- (void)encodeRestorableStateWithCoder:(NSCoder *)
coder
Параметры
coder
Объект кодера, в котором можно сохранить связанное с интерфейсом состояние документа.
Обсуждение
Этот метод является частью системы резервирования окна и вызывается в подходящее время для сохранения связанной с окном информации документа состояния к указанному архиву. Реализация по умолчанию этого метода записывает некоторую основную информацию о документе. При переопределении этого метода необходимо вызвать
super
в некоторый момент в Вашей реализации.Подклассы могут переопределить этот метод и использовать его для восстановления любой информации, которая была бы необходима для восстановления окна документа к его текущему состоянию. Например, Вы могли использовать этот метод для записи ссылок на данные, которыми в настоящее время управляет документ и выведенные на экран окном. (Не храните сами фактические данные. Сохраните только ссылки на данные так, чтобы можно было загрузить их позже из диска.) Необходимо хранить достаточно данных для реконфигурирования документа и его окна к их текущему состоянию во время последующего запуска приложения.
Для получения информации об использовании объекта кодера записать данные в архив, см. Руководство по программированию Архивов и Сериализации.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Восстанавливает связанное с интерфейсом состояние документа.
Объявление
Swift
func restoreStateWithCoder(_
coder
: NSCoder)Objective C
- (void)restoreStateWithCoder:(NSCoder *)
coder
Параметры
coder
Объект кодера использовать для восстановления связанного с интерфейсом состояния документа.
Обсуждение
Этот метод является частью системы резервирования окна и вызывается во время запуска для восстановления связанного с окном состояния объекта документа. Реализация по умолчанию восстанавливает некоторую основную информацию о документе. При переопределении этого метода необходимо вызвать
super
в некоторый момент в Вашей реализации.Подклассы могут переопределить этот метод и использовать его для восстановления связанной с документом информации, сохраненной в
encodeRestorableStateWithCoder:
метод. Можно также использовать этот метод для реконфигурирования документа (или его связанный контроллер окна и окно) к их предыдущему появлению.Для получения информации об использовании объекта кодера считать данные из архива, см. Руководство по программированию Архивов и Сериализации.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает массив ключевых путей, представляющих восстановимые атрибуты документа.
Объявление
Swift
class func restorableStateKeyPaths() -> [AnyObject]
Objective C
+ (NSArray *)restorableStateKeyPaths
Возвращаемое значение
Массив
NSString
объекты, каждый из которых содержит ключевой путь к одному из атрибутов документа.Обсуждение
Можно использовать этот метод вместо, или в дополнение к,
encodeRestorableStateWithCoder:
иrestoreStateWithCoder:
методы, чтобы сохранить и восстановить состояние Вашего документа. Ключевые пути должны относиться к атрибутам, которые являются кодированием значения ключа и Значением ключа, наблюдающим совместимый.Когда изменения обнаруживаются, указанные атрибуты автоматически записаны в диск с остальной частью связанного с интерфейсом состояния приложения. Во время запуска атрибуты автоматически восстанавливаются их предыдущим значениям.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Отмечает связанное с интерфейсом состояние документа как грязное.
Объявление
Swift
func invalidateRestorableState()
Objective C
- (void)invalidateRestorableState
Обсуждение
Вызовите этот метод каждый раз, когда изменяется восстановимое состояние Вашего документа. Этот метод отмечает состояние документа как грязное, который заставляет то состояние быть записанным в диск в некоторый момент в будущем. Не переопределяйте этот метод.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
restoreDocumentWindowWithIdentifier (_: state:completionHandler:) - restoreDocumentWindowWithIdentifier:state:completionHandler:
Восстанавливает окно, связанное с документом, после того, как вновь открывается тот документ.
Объявление
Параметры
identifier
Уникальная интерфейсная строка идентификатора элемента, ранее связанная с окном. Используйте эту строку для определения который окно создать.
state
Объект кодера, содержащий информацию о статусе окна. Этот объект кодера содержит объединенное восстановимое состояние окна, которое может включать состояние окна, его делегата, контроллера окна и объекта документа. Можно использовать это состояние для определения который окно создать.
completionHandler
Блочный объект выполниться с результатами создания окна. Вы должны выполнить этот блок в некоторый момент, но можете сделать так после возвратов метода в случае необходимости. Этот блок берет следующие параметры:
Окно, создававшееся или
nil
если не могло бы быть создано окно.Ошибочный объект, если окно не было распознано или не могло бы быть создано по любой причине; иначе, указать
nil
.
Обсуждение
Этот метод вызывает значение по умолчанию
NSDocumentController
реализацияrestoreWindowWithIdentifier:state:completionHandler:
.Реализация по умолчанию этого метода сначала проверяет, имеет ли документ контроллеры окна, и в противном случае это вызывает
makeWindowControllers
. Если существует тогда точно один контроллер окна, он вызывает обработчик завершения со своим окном. Если существует больше чем один, это ищет контроллеры окна получателя окно, соответствующее данный идентификатор, и затем вызывающее обработчик завершения с ним. Если никакое окно не могло бы быть найдено, это вызывает обработчик завершения с anil
окно.Если Ваш документ имеет переменные или дополнительные окна, можно переопределить это, чтобы создать требуемое окно, и затем вызвать обработчик завершения с ним. Это позволяет Вам использовать документ по умолчанию, вновь открывающий поведение, но вмешиваться при создании окон. Параметры совпадают с в методе класса
restoreWindowWithIdentifier:state:completionHandler:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
userActivity userActivity
СвойствоОбъект, инкапсулирующий пользовательское действие, поддерживается этим документом.
Объявление
Swift
var userActivity: NSUserActivity?
Objective C
@property(strong) NSUserActivity *userActivity
Обсуждение
NSDocument
автоматически создаетNSUserActivity
объекты для основанных на iCloud документов, если приложениеInfo.plist
файл списка свойств включает aCFBundleDocumentTypes
ключNSUbiquitousDocumentUserActivityType
. ЗначениеNSUbiquitousDocumentUserActivityType
строка, использующаяся дляNSUserActivity
тип действия объекта. URL документа помещается вNSUserActivity
объектuserInfo
словарь сNSUserActivityDocumentURLKey
.На OS X,
NSUserActivity
объекты, которыми управляютNSDocument
автоматическиbecomeCurrent
когда любое окно контроллера окна документа становится основным. Иначе, необходимо вызвать[[document userActivity] becomeCurrent]
в подходящее время.Если документ становится неповсеместным,
userActivity
свойствоnil
. ЛюбойNSUserActivity
объекты, которыми управляет AppKit, но не имеющие никаких ассоциированных документов (или респонденты) автоматически лишены законной силы.Это свойство может использоваться от любого потока. Это KVO заметный в случае, если
userActivity
объект совместно используется с другими объектами, которые должны быть сохранены в синхронизации, когда документ перемещается в и из iCloud.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Восстановления состояние должны были продолжать данное пользовательское действие.
Объявление
Swift
func restoreUserActivityState(_
activity
: NSUserActivity)Objective C
- (void)restoreUserActivityState:(NSUserActivity *)
activity
Параметры
activity
Пользовательское действие, которое будет продолжаться.
Обсуждение
Подклассы переопределяют этот метод для восстановления состояния респондента с данным пользовательским действием. Переопределение должно использовать данные состояния, содержавшиеся в
userInfo
словарь данного пользовательского действия для восстановления объекта.Пользовательские действия, которыми управляют
NSDocument
может быть восстановлен автоматически, еслиNO
false
возвращается изapplication:continueActivity:restorationHandler:
или если это не реализовано. В этой ситуации документ открытNSDocumentController
методopenDocumentWithContentsOfURL:display:completionHandler:
и получает arestoreUserActivityState:
сообщение.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
См. также
userActivity
– updateUserActivityState:
-
Обновляет состояние данного пользовательского действия.
Объявление
Swift
func updateUserActivityState(_
activity
: NSUserActivity)Objective C
- (void)updateUserActivityState:(NSUserActivity *)
activity
Параметры
activity
Пользовательское действие, которое будет обновлено.
Обсуждение
Реализация по умолчанию этого метода помещает документ
fileURL
вNSUserActivity
объектuserInfo
словарь сNSUserActivityDocumentURLKey
.NSDocument
автоматически наборыneedsSave
свойствоNSUserActivity
кYES
true
когдаfileURL
изменения.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
См. также
userActivity
– restoreUserActivityState:
-
documentEdited documentEdited
СвойствоБулево значение, указывающее, имеет ли документ несохраненные изменения. (только для чтения)
Объявление
Swift
var documentEdited: Bool { get }
Objective C
@property(getter=isDocumentEdited, readonly) BOOL documentEdited
Обсуждение
Значение этого свойства
YES
true
если был отредактирован документ. Отредактированное состояние каждого окна документа отражает отредактированное состояние документа.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
См. также
– updateChangeCount:
setDocumentEdited:
(NSWindow) -
Булево значение, указывающее, принял ли пользователь решение скрыть расширение имени файла, выбранного в панели Save для документа. (только для чтения)
Объявление
Swift
var fileNameExtensionWasHiddenInLastRunSavePanel: Bool { get }
Objective C
@property(readonly) BOOL fileNameExtensionWasHiddenInLastRunSavePanel
Возвращаемое значение
YES
true
если панель Save была представлена, и пользователь принял решение скрыть расширение; иначе,NO
false
.Обсуждение
Значение этого свойства
YES
true
если панель Save была представлена, и пользователь принял решение скрыть расширение; иначе, значениеNO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.1 и позже.
-
inViewingMode inViewingMode
СвойствоБулево значение, указывающее, является ли документ в режиме только для чтения. (только для чтения)
Объявление
Swift
var inViewingMode: Bool { get }
Objective C
@property(getter=isInViewingMode, readonly) BOOL inViewingMode
Обсуждение
Значение этого свойства
YES
true
если документ заблокирован т.е. если документ находится в «режиме просмотра только для чтения». Когда пользователь просматривает старую версию документа, можно использовать эту информацию для предотвращения определенных видов пользовательских действий или изменений.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Вызванный
runModalSavePanelForSaveOperation:delegate:didSaveSelector:contextInfo:
сделать любую настройку данной панели Save.Объявление
Swift
func prepareSavePanel(_
savePanel
: NSSavePanel) -> BoolObjective C
- (BOOL)prepareSavePanel:(NSSavePanel *)
savePanel
Параметры
savePanel
Панель Save.
Возвращаемое значение
YES
true
если успешно подготовлено; иначе,NO
false
.Обсуждение
Реализация по умолчанию пуста и возвраты
YES
true
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Распечатывает получатель в ответ на пользователя, выбирающего команду Меню печати.
Объявление
Swift
@IBAction func printDocument(_
sender
: AnyObject?)Objective C
- (IBAction)printDocument:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
NSDocument
объект получает это сообщение действия, поскольку это перемещается цепочка респондента. Реализация по умолчанию вызываетprintDocumentWithSettings:showPrintPanel:delegate:didPrintSelector:contextInfo:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Когда пользователь выбирает команду Установочного меню Страницы, метод действия вызвал в получателе как первый респондент.
Объявление
Swift
@IBAction func runPageLayout(_
sender
: AnyObject?)Objective C
- (IBAction)runPageLayout:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Реализация по умолчанию вызывает
runModalPageLayoutWithPrintInfo:delegate:didRunSelector:contextInfo:
с текущим NSPrintInfo документа возражают как параметр; если пользователь щелкает по кнопке OK, и документ авторизовывает изменения в своей информации о печати (shouldChangePrintInfo:
), метод устанавливает новый документNSPrintInfo
возразите и постепенно увеличивает количество изменения документа.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Действие пункта меню File Возвращается в основанном на документе приложении.
Объявление
Swift
@IBAction func revertDocumentToSaved(_
sender
: AnyObject?)Objective C
- (IBAction)revertDocumentToSaved:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Реализация по умолчанию этого метода представляет предупредительное диалоговое окно, дающее пользователю возможность отменить работу. Если пользователь принимает решение продолжать, метод гарантирует, что любой редактор зарегистрировал использование Привязки Какао
NSEditorRegistration
неофициальный протокол отбросил свои изменения и затем вызываетrevertToContentsOfURL:ofType:error:
. Если это возвращаетсяNO
false
, метод представляет ошибку пользователю в модальном документом предупредительном диалоговом окне.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Когда пользователь выбирает команду меню Save, метод действия вызвал в получателе как первый респондент.
Объявление
Swift
@IBAction func saveDocument(_
sender
: AnyObject?)Objective C
- (IBAction)saveDocument:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Реализация по умолчанию сохраняет документ двумя различными способами, в зависимости от того, имеет ли документ путь к файлу и присвоенный тип документа. Если путь и тип присваиваются, это просто пишет документ под своим текущим путем к файлу, и введите после создания резервной копии предыдущего файла. Если документ является новым (никакой путь к файлу и тип), это выполняет модальную панель Save для получения расположения файла, под которым можно сохранить документ. Это пишет документ этому файлу, устанавливает расположение файла документа и тип документа (если собственный тип), и очищает отредактированное состояние документа.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Когда пользователь выбирает команду меню Save As, метод действия вызвал в получателе как первый респондент.
Объявление
Swift
@IBAction func saveDocumentAs(_
sender
: AnyObject?)Objective C
- (IBAction)saveDocumentAs:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Реализация по умолчанию выполняет модальную панель Save для получения расположения файла, под которым можно сохранить документ. Это пишет документ этому файлу, устанавливает расположение файла документа и тип документа (если собственный тип), и очищает отредактированное состояние документа.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Когда пользователь выбирает команду меню Save To, метод действия вызвал в получателе как первый респондент.
Объявление
Swift
@IBAction func saveDocumentTo(_
sender
: AnyObject?)Objective C
- (IBAction)saveDocumentTo:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Реализация по умолчанию идентична
saveDocumentAs:
если документ является собственным типом, за исключением того, что этот метод не очищает отредактированное состояние документа и не сбрасывает расположение файла и тип документа.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
saveDocumentWithDelegate (_: didSaveSelector:contextInfo:) - saveDocumentWithDelegate:didSaveSelector:contextInfo:
Сохраняет документ.
Объявление
Swift
func saveDocumentWithDelegate(_
delegate
: AnyObject?, didSaveSelectordidSaveSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)saveDocumentWithDelegate:(id)
delegate
didSaveSelector:(SEL)didSaveSelector
contextInfo:(void *)contextInfo
Параметры
delegate
Делегат, в которого отправляется селекторное сообщение.
didSaveSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
Если
NSSaveOperation
может быть выполнен без дальнейшего вмешательства пользователя (по крайней мере, ни одинfileURL
ниfileType
nil
), тогда метод сразу сохраняет документ. Иначе, если пользователь утверждает панель, это представляет панель Save пользователю и сохраняет документ. Когда сохранение было завершено или отменено, метод отправляет сообщение, выбранноеdidSaveSelector
кdelegate
, сcontextInfo
как последний параметр.С OS X v10.5, этот метод проверки, чтобы видеть, был ли файл документа изменен, так как документ был открыт или последний раз сохранен или вернулся, в дополнение к проверке перемещение файла, переименование и повреждение, которое это сделало начиная с OS X v10.1. Когда это обнаруживает модификацию файла, это представляет предупреждение, говоря, что пользователь «Файл этого документа был изменен другим приложением, так как Вы открыли или сохранили его”, дав им выбор сохранения или не сохранения. Для обратной совместимости на уровне двоичных кодов это только сделано в приложениях, соединенных против OS X v10.5 или позже.
didSaveSelector
метод обратного вызова должен иметь следующую подпись:- (void)document:(NSDocument *)doc didSave:(BOOL)didSave contextInfo:(void *)contextInfo
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
canCloseDocumentWithDelegate (_: shouldCloseSelector:contextInfo:) - canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo:
Если получатель не грязен, этот метод сразу вызывает
shouldCloseSelector
обратный вызов на указанном делегате сYES
true
.Объявление
Swift
func canCloseDocumentWithDelegate(_
delegate
: AnyObject, shouldCloseSelectorshouldCloseSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)canCloseDocumentWithDelegate:(id)
delegate
shouldCloseSelector:(SEL)shouldCloseSelector
contextInfo:(void *)contextInfo
Параметры
delegate
Делегат, в которого отправляется селекторное сообщение.
shouldCloseSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
Если получатель грязен, предупреждение представлено, дав пользователю шанс сохранить, не сохранить, или отмена. Если пользователь принимает решение сохранить, этот метод сохраняет документ. Если сохранение завершается успешно, это вызовы метода обратный вызов с
YES
true
. Если сохранение отменяется или иначе неуспешное, это вызовы метода обратный вызов сNO
false
. Этим методом можно вызватьshouldCloseWindowController:delegate:shouldCloseSelector:contextInfo:
. Это также вызываютNSDocumentController
методcloseAllDocumentsWithDelegate:didCloseAllSelector:contextInfo:
. Необходимо вызвать его перед вызовомclose
если Вы закрываете документ и хотите дать пользователю шанс сохранить какие-либо редактирования. ПередайтеcontextInfo
объект с обратным вызовом.shouldCloseSelector
метод обратного вызова должен иметь следующую подпись:- (void)document:(NSDocument *)doc shouldClose:(BOOL)shouldClose contextInfo:(void *)contextInfo
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Закрывает все окна, принадлежавшие получателю, и удаляет получатель из списка документов, сохраняемых контроллером документа, следовательно выпускающим его.
Объявление
Swift
func close()
Objective C
- (void)close
Обсуждение
Этот метод сразу закрывает документ, не спрашивая пользователей, если они хотят сохранить документ. Этот метод нельзя всегда вызывать.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Отбрасывания все несохраненные модификации документа и замены содержание документа путем чтения файла или пакета файла, расположенного URL указанного типа.
Объявление
Параметры
absoluteURL
Расположение, из которого читается содержание документа.
typeName
Строка, идентифицирующая тип документа.
outError
По возврату, если документ не мог бы вернуться, указатель на ошибочный объект, инкапсулирующий причину, это не могло вернуться.
Возвращаемое значение
YES
true
если мог бы вернуться документ; иначе,NO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Создает новый документ, содержание которого совпадает с получателем, и возвращает ошибочный объект, если неуспешный.
Объявление
Swift
func duplicateAndReturnError(_
outError
: NSErrorPointer) -> NSDocument?Objective C
- (NSDocument *)duplicateAndReturnError:(NSError **)
outError
Параметры
outError
По возврату, если документ не мог бы быть дублирован, указатель на ошибочный объект, инкапсулирующий причину, почему это не могло быть дублировано.
Возвращаемое значение
Новый документ, если дублирование успешно; иначе
nil
.Обсуждение
Новый документ, еще возвратился не имеет значения для возврата из
fileURL
.Реализация по умолчанию этого метода сначала использует
writeSafelyToURL:ofType:forSaveOperation:error:
записать текущее содержание документа в файл расположилось в том же каталоге, использующемся для сохраненного автоматически содержания документов без названия и с тем же видом имени, затем вызывающем[[NSDocumentController sharedDocumentController] duplicateDocumentWithContentsOfURL:newContentsURL copying:NO displayName:aDisplayName error:outError]
.Можно переопределить этот метод для настройки то, что сделано во время дублирования документа, но если переопределение не вызывает
[NSDocumentController duplicateDocumentWithContentsOfURL:copying:displayName:error:]
необходимо заботиться, чтобы сделать вещи, которые тот метод делает, особенно вызывая[NSDocumentController addDocument:]
и[NSFileCoordinator addFilePresenter:]
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Создает копию документа получения в ответ на пользователя, выбор Duplicate из меню File.
Объявление
Swift
@IBAction func duplicateDocument(_
sender
: AnyObject?)Objective C
- (IBAction)duplicateDocument:(id)
sender
Параметры
sender
Управление, отправляющее сообщение действия.
Обсуждение
Реализация по умолчанию этого метода просто вызывает
[self duplicateDocumentWithDelegate:nil didDuplicateSelector:NULL contextInfo:NULL]
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
duplicateDocumentWithDelegate (_: didDuplicateSelector:contextInfo:) - duplicateDocumentWithDelegate:didDuplicateSelector:contextInfo:
Создайте новый документ, содержание которого совпадает с получателем и уведомляет делегата.
Объявление
Swift
func duplicateDocumentWithDelegate(_
delegate
: AnyObject?, didDuplicateSelectordidDuplicateSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)duplicateDocumentWithDelegate:(id)
delegate
didDuplicateSelector:(SEL)didDuplicateSelector
contextInfo:(void *)contextInfo
Параметры
delegate
Делегат, в которого отправляется селекторное сообщение.
didDuplicateSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
Создающийся новый документ еще не имеет значения для возврата из
fileURL
. Когда дублирование завершается, независимо от успешности или неуспешности, или отклоняется ли работа пользователем, этот метод отправляет сообщение, обозначенноеdidDuplicateSelector
делегату, сcontextInfo
как последний параметр. Метод выбранdidDuplicateSelector
должен иметь ту же подпись как:- (void)document:(NSDocument *)document didDuplicate:(BOOL)didDuplicate contextInfo:(void *)contextInfo;
Реализация по умолчанию этого метода сначала удостоверяется, что любой редактор зарегистрировал использование Привязки Какао
NSEditorRegistration
неофициальный протокол фиксировал свои изменения, затем проверяет, чтобы видеть, существуют ли недавние изменения, которые, возможно, были непреднамеренными и, если так, представляют панель, дающую пользователю выбор отмены, дублирования или дублирования, затем отбрасывая недавние изменения. Если пользователь не отменяет дублирование, или если никакая панель не была представлена, оно тогда вызываетduplicateAndReturnError:
. Если пользователь выбрал дублирование и отбрасывание, оно также отбрасывает недавние изменения после дублирования.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
Переименовывает текущий документ в ответ на пользователя, выбирающего пункт меню Rename.
Объявление
Swift
@IBAction func renameDocument(_
sender
: AnyObject?)Objective C
- (IBAction)renameDocument:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Это - метод действия пункта меню Rename в основанном на документе приложении. Реализация по умолчанию этого метода инициирует сеанс переименования в окне, создаваемом
[self windowForSheet]
сообщение.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Перемещает документ новому расположению в ответ на пользователя, выбор Move To … пункт меню.
Объявление
Swift
@IBAction func moveDocument(_
sender
: AnyObject?)Objective C
- (IBAction)moveDocument:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Это - метод действия Перемещения К … пункту меню в основанном на документе приложении. По умолчанию этот метод вызывает
moveDocumentWithCompletionHandler:
метод, передаваяnil
как значение параметра.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Перемещает документ выбранному пользователями расположению.
Объявление
Swift
func moveDocumentWithCompletionHandler(_
completionHandler
: ((Bool) -> Void)?)Objective C
- (void)moveDocumentWithCompletionHandler:(void (^)(BOOL didMove))
completionHandler
Параметры
completionHandler
Блочный объект обработчика завершения передал в быть вызванным после того, как перемещение завершается, независимо от успеха, отказа или отмены движущегося действия.
Обсуждение
Этот метод дарит пользователю панель перемещения если
[self fileURL]
неноль и затем пытается сохранить документ к новому расположению путем вызоваmoveToURL:completionHandler:
метод, если пользователь принимает расположение, представленное панелью. Если файл с тем же именем уже будет существовать в том расположении, то пользователя попросят выбрать между заменой существующего ранее файла, переименованием текущего документа или отменой процесса перемещения. Если[self fileURL]
nil
, тогда[self runModalSavePanelForSaveOperation:NSSaveAsOperation delegate:didSaveSelector:contextInfo:]
сообщение отправляется вместо этого.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Перемещает файл документа в данный URL.
Объявление
Параметры
url
Расположение, где файл в конечном счете закончится, если перемещение будет успешно.
completionHandler
Блочный объект обработчика завершения передал в быть вызванным в некоторый момент в будущем, возможно после того, как возвратился вызов метода. Обработчик завершения должен быть вызван на основной поток. На выводе, a
nil
если перемещение успешно, ошибка передается; иначеNSError
объект передается, который инкапсулирует причину отказа.Обсуждение
Реализация по умолчанию этого метода заменяет любой файл, который может в настоящее время существовать в данном URL с перемещаемым тем по мере необходимости.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Блокирует документ в ответ на пользователя, выбирающего пункт меню Lock.
Объявление
Swift
@IBAction func lockDocument(_
sender
: AnyObject?)Objective C
- (IBAction)lockDocument:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Это - действие пункта меню Lock в основанном на документе приложении. Этот метод действия вызывает
lockDocumentWithCompletionHandler:
метод по умолчанию.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Разблокировал документ в ответ на пользователя, выбирающего пункт меню Unlock.
Объявление
Swift
@IBAction func unlockDocument(_
sender
: AnyObject?)Objective C
- (IBAction)unlockDocument:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Это - действие пункта меню Unlock в основанном на документе приложении. Этот метод действия вызывает
unlockDocumentWithCompletionHandler:
метод по умолчанию.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Препятствует тому, чтобы пользователь внес дальнейшие изменения в документ.
Объявление
Swift
func lockDocumentWithCompletionHandler(_
completionHandler
: ((Bool) -> Void)?)Objective C
- (void)lockDocumentWithCompletionHandler:(void (^)(BOOL didLock))
completionHandler
Параметры
completionHandler
Блочный объект обработчика завершения передал в быть вызванным после того, как блокировка завершается, независимо от успешности или неуспешности блокировки.
Обсуждение
По умолчанию этот метод сначала гарантирует, что любой редактор, зарегистрировавший Привязку Какао использования
NSEditorRegistration
неофициальный протокол фиксировал все изменения и затем сохраняет документ автоматически, при необходимости, прежде, чем попытаться заблокировать его с помощьюlockWithCompletionHandler:
метод. После успешной блокировки,locked
свойство установлено в[YES]
. Документы, чейfileURL
свойство установлено вnil
не может быть заблокирован.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Препятствует тому, чтобы дальнейшие модификации были сделаны к файлу.
Объявление
Swift
func lockWithCompletionHandler(_
completionHandler
: ((NSError!) -> Void)?)Objective C
- (void)lockWithCompletionHandler:(void (^)(NSError *))
completionHandler
Параметры
completionHandler
Блочный объект обработчика завершения передал в быть вызванным после того, как блокировка завершается, независимо от успешности или неуспешности блокировки.
Обсуждение
Этот метод сначала блокирует файл в
[self fileURL]
и затем вызывает данный блок. Реализация блокировки значения по умолчанию должна включить “пользователю неизменный” флаг на файле.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Позволяет пользователю делать модификации к документу.
Объявление
Swift
func unlockDocumentWithCompletionHandler(_
completionHandler
: ((Bool) -> Void)?)Objective C
- (void)unlockDocumentWithCompletionHandler:(void (^)(BOOL didUnlock))
completionHandler
Параметры
completionHandler
Блочный объект обработчика завершения передал в быть вызванным после того, как разблокирование завершается, независимо от успешности или неуспешности.
Обсуждение
По умолчанию этот метод вызывает
unlockWithCompletionHandler:
метод для разблокирования документа. Этот метод отключает сохраняющуюся автоматически проверку безопасности, означая этоcheckAutosavingSafetyAndReturnError:
больше не будет вызываться на этот документ. Когда разблокирование успешно выполняется,locked
метод начнет возвращатьсяNO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Позволяет пользователю делать модификации к файлу.
Объявление
Swift
func unlockWithCompletionHandler(_
completionHandler
: ((NSError!) -> Void)?)Objective C
- (void)unlockWithCompletionHandler:(void (^)(NSError *))
completionHandler
Параметры
completionHandler
Блочный объект обработчика завершения передал в быть вызванным после того, как разблокирование завершается, независимо от успешности или неуспешности.
Обсуждение
По умолчанию этот метод пытается очистить “пользователя неизменный” флаг и, при необходимости, добавить полномочия записи к самому файлу.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
заблокированный заблокированный
СвойствоБулево значение, указывающее, может ли файл быть записан в. (только для чтения)
Объявление
Swift
var locked: Bool { get }
Objective C
@property(getter=isLocked, readonly) BOOL locked
Обсуждение
Это свойство может содержать значение
YES
true
потому что пользователь испытывает недостаток в надлежащих полномочиях записи, “пользователь, неизменный” флаг был повышен, родительский каталог или объем только для чтения, илиcheckAutosavingSafetyAndReturnError:
метод возвратилсяNO
false
. Не переопределяйте это свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.8 и позже.
-
Информация о печати связалась с документом.
Объявление
Swift
@NSCopying var printInfo: NSPrintInfo
Objective C
@property(copy) NSPrintInfo *printInfo
Возвращаемое значение
Получатель
NSPrintInfo
объект.Обсуждение
Значение по умолчанию этого свойства является объектом NSPrintInfo по умолчанию. Для настройки информации о печати присвойте новое значение этому свойству. Панель Page Layout может также обновить объект в этом свойстве для отражения опций, выбранных пользователем.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Вызванный
runModalPageLayoutWithPrintInfo:
иrunModalPageLayoutWithPrintInfo:delegate:didRunSelector:contextInfo:
сделать любую настройку панели Page LayoutpageLayout
, такой как добавление вспомогательного представление.Объявление
Swift
func preparePageLayout(_
pageLayout
: NSPageLayout) -> BoolObjective C
- (BOOL)preparePageLayout:(NSPageLayout *)
pageLayout
Параметры
pageLayout
Панель макета страницы для подготовки.
Возвращаемое значение
YES
true
если успешно подготовлено; иначе,NO
false
.Обсуждение
Реализация по умолчанию пуста и возвраты
YES
true
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
runModalPageLayoutWithPrintInfo (_: delegate:didRunSelector:contextInfo:) - runModalPageLayoutWithPrintInfo:delegate:didRunSelector:contextInfo:
Выполняет модальную панель макета страницы с информационным объектом печати получателя
Объявление
Swift
func runModalPageLayoutWithPrintInfo(_
printInfo
: NSPrintInfo, delegatedelegate
: AnyObject?, didRunSelectordidRunSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)runModalPageLayoutWithPrintInfo:(NSPrintInfo *)
printInfo
delegate:(id)delegate
didRunSelector:(SEL)didRunSelector
contextInfo:(void *)contextInfo
Параметры
printInfo
NSPrintInfo
объект для панели макета страницы для использования.delegate
Делегат, в которого отправляется селекторное сообщение.
didRunSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
Вызванный от метода действия
runPageLayout:
. Представляет приложение панели макета страницы модально, если нет никакого окна документа, которому это может быть представленный документ модально.Когда панель отклонена,
delegate
отправляется adidRunSelector
сообщение.didRunSelector
метод обратного вызова должен иметь следующую подпись:- (void)documentDidRunModalPageLayout:(NSDocument *)document accepted:(BOOL)accepted contextInfo:(void *)contextInfo
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
runModalPrintOperation (_: delegate:didRunSelector:contextInfo:) - runModalPrintOperation:delegate:didRunSelector:contextInfo:
Выполняет указанную работу печати модально.
Объявление
Swift
func runModalPrintOperation(_
printOperation
: NSPrintOperation, delegatedelegate
: AnyObject?, didRunSelectordidRunSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)runModalPrintOperation:(NSPrintOperation *)
printOperation
delegate:(id)delegate
didRunSelector:(SEL)didRunSelector
contextInfo:(void *)contextInfo
Параметры
printOperation
Работа печати для выполнения.
delegate
Делегат, в которого отправляется селекторное сообщение.
didRunSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
Переопределения
printShowingPrintPanel:
может вызвать этот метод.Когда панель отклонена,
delegate
отправляется adidRunSelector
сообщение. ПередайтеcontextInfo
объект с обратным вызовом.didRunSelector
метод обратного вызова должен иметь следующую подпись:- (void)documentDidRunModalPrintOperation:(NSDocument *)document success:(BOOL)success contextInfo:(void *)contextInfo
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает булево значение, указывающее, должен ли получатель позволить изменения в значении по умолчанию
NSPrintInfo
объект, используемый в печати документа.Объявление
Swift
func shouldChangePrintInfo(_
newPrintInfo
: NSPrintInfo) -> BoolObjective C
- (BOOL)shouldChangePrintInfo:(NSPrintInfo *)
newPrintInfo
Параметры
newPrintInfo
NSPrintInfo
объект, который является результатом пользователя, утверждающего панель макета страницы, представленнуюrunPageLayout:
.Возвращаемое значение
YES
true
по умолчанию; подклассы могут переопределить этот метод для возвратаNO
false
.Обсуждение
Этот метод вызывается
runPageLayout:
метод, устанавливающий новоеNSPrintInfo
объект для документа, только если возвращается этот методYES
true
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
printDocumentWithSettings (_: showPrintPanel:delegate:didPrintSelector:contextInfo:) - printDocumentWithSettings:showPrintPanel:delegate:didPrintSelector:contextInfo:
Распечатывает документ.
Объявление
Swift
func printDocumentWithSettings(_
printSettings
: [NSObject : AnyObject], showPrintPanelshowPrintPanel
: Bool, delegatedelegate
: AnyObject?, didPrintSelectordidPrintSelector
: Selector, contextInfocontextInfo
: UnsafeMutablePointer<Void>)Objective C
- (void)printDocumentWithSettings:(NSDictionary *)
printSettings
showPrintPanel:(BOOL)showPrintPanel
delegate:(id)delegate
didPrintSelector:(SEL)didPrintSelector
contextInfo:(void *)contextInfo
Параметры
printSettings
Словарь настроек печати для использования.
showPrintPanel
Булево значение, указывающее, показана ли панель печати.
delegate
Делегат, в которого отправляется селекторное сообщение.
didPrintSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
Если показ панели печати указан
showPrintPanel
, метод представляет его сначала и распечатывает, только если пользователь утверждает панель.NSPrintInfo
атрибуты в переданном - вprintSettings
словарь добавляется к копии информации печати документа, и получающиеся информационные настройки печати используются для работы. Когда печать завершена или отменяется, метод отправляет сообщение, выбранноеdidPrintSelector
кdelegate
, сcontextInfo
как последний параметр. Метод выбранdidPrintSelector
должен иметь ту же подпись как:- (void)document:(NSDocument *)document didPrint:(BOOL)didPrintSuccessfully contextInfo: (void *)contextInfo
Реализация по умолчанию этого метода вызывает
printOperationWithSettings:error:
. Еслиnil
возвращается это представляет ошибку пользователю в модальной документом панели прежде, чем передать делегата. Иначе это вызывает[thePrintOperation setShowsPrintPanel:showPrintPanel]
тогда[self runModalPrintOperation:thePrintOperation delegate:delegate didRunSelector:didPrintSelector contextInfo:contextInfo]
.Для обратной совместимости на уровне двоичных кодов с OS X v10.3 и ранее, реализация по умолчанию этого метода вызывает
printShowingPrintPanel:
если это переопределяется. При выполнении этого это использует частную функциональность, чтобы принять меры, чтобы настройки печати вступили в силу (несмотря на то, что переопределениеprintShowingPrintPanel:
не может возможно знать о них) и быть уведомленным, когда работа печати была завершена, таким образом, она может передать делегата в корректное время. Корректный обмен сообщениями делегата необходим для корректной обработки события Print Apple.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Создает работу печати и возвращает его в случае успеха.
Объявление
Swift
func printOperationWithSettings(_
printSettings
: [NSObject : AnyObject], erroroutError
: NSErrorPointer) -> NSPrintOperation?Objective C
- (NSPrintOperation *)printOperationWithSettings:(NSDictionary *)
printSettings
error:(NSError **)outError
Параметры
printSettings
Словарь настроек печати для использования.
outError
По возврату, если работа печати не могла бы быть создана, указатель на ошибочный объект, инкапсулирующий причину, это не могло быть создано.
Возвращаемое значение
Работа печати, или
nil
если неуспешный.Обсуждение
Работа печати может быть выполнена для печати текущего содержания документа.
NSPrintInfo
атрибуты в переданном - вprintSettings
словарь добавляется к копии информации печати документа, и получающаяся информация печати используется для работы.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
PDFPrintOperation PDFPrintOperation
СвойствоРабота печати, которую можно использовать для создания представления PDF текущего содержания документа. (только для чтения)
Объявление
Swift
var PDFPrintOperation: NSPrintOperation { get }
Objective C
@property(readonly, strong) NSPrintOperation *PDFPrintOperation
Обсуждение
Объект в этом свойстве может быть выполнен для печати текущего содержания документа к файлу PDF.
Работа печати по умолчанию, сохраненная этим свойством, получена путем вызова
printOperationWithSettings:error:
метод и передача объекта настроек печати, содержащего только расположение (NSPrintSaveJob
) и aNULL
ошибочная ссылка на объект. Если Ваши поддержки подкласса документа, создающие представления PDF, можно переопределить это свойство по мере необходимости для настройки опций.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Экспортирует представление PDF текущего содержания документа.
Объявление
Swift
@IBAction func saveDocumentToPDF(_
sender
: AnyObject?)Objective C
- (IBAction)saveDocumentToPDF:(id)
sender
Параметры
sender
Управление, отправляющее сообщение.
Обсуждение
Этот метод действия обрабатывает Экспорт “меню File Как PDF …” элемент в основанном на документе приложении.
Реализация по умолчанию этого вызовы метода
printDocumentWithSettings:showPrintPanel:delegate:didPrintSelector:contextInfo:
метод, передавая объект настроек печати, содержащий только расположение (NSPrintSaveJob
), с отключенным взаимодействием с пользователем иNULL
илиnil
для всех других параметров.Если Ваши поддержки подкласса документа, создающие представления PDF, можно переопределить этот метод в случае необходимости.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
presentError (_: modalForWindow:delegate:didPresentSelector:contextInfo:) - presentError:modalForWindow:delegate:didPresentSelector:contextInfo:
Представляет ошибочное предупреждение пользователю как модальная панель.
Объявление
Параметры
error
Ошибочный объект инкапсуляция информации для представления пользователю.
window
Окно, которому принадлежит модальное предупреждение.
delegate
Делегат, в которого отправляется селекторное сообщение.
didPresentSelector
Селектор сообщения отправил делегату.
contextInfo
Объект передал с обратным вызовом для обеспечения любой дополнительной контекстной информации.
Обсуждение
То, когда пользователь отклоняет предупреждение, и любое восстановление, возможное для ошибки и выбранное пользователем, было опробовано, отправляет сообщение
didPresentSelector
к указанномуdelegate
.NSDocument
реализация по умолчанию этого метода эквивалентна тому изNSResponder
и обрабатывает совместно используемоеNSDocumentController
возразите как следующий респондент, и передает эти сообщения к нему. Реализации по умолчанию несколькихNSDocument
методы вызывают этот метод.Реализация по умолчанию этого метода вызывает
willPresentError:
дать подклассам возможность настроить ошибочное представление. Вы не должны переопределять этот метод, но должны вместо этого переопределитьwillPresentError:
.Метод, выбранный
didPresentSelector
должен иметь ту же подпись как:- (void)didPresentErrorWithRecovery:(BOOL)didRecover contextInfo:(void *)contextInfo
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Представляет ошибочное предупреждение пользователю как модальная панель.
Объявление
Swift
func presentError(_
error
: NSError) -> BoolObjective C
- (BOOL)presentError:(NSError *)
error
Параметры
error
Ошибочный объект инкапсуляция информации для представления пользователю.
Возвращаемое значение
YES
true
если было сделано восстановление после ошибки; иначе,NO
false
.Обсуждение
Этот метод не возвращается, пока пользователь не отклоняет предупреждение и, если ошибка имеет опции восстановления и делегата восстановления, делегат восстановления ошибки отправляется
attemptRecoveryFromError:optionIndex:
сообщение.NSDocument
реализация по умолчанию этого метода эквивалентна тому изNSResponder
и обрабатывает совместно используемоеNSDocumentController
как следующий респондент и передает эти сообщения к нему.Реализация по умолчанию этого метода вызывает
willPresentError:
дать подклассам возможность настроить ошибочное представление. Вы не должны переопределять этот метод, но должны вместо этого переопределитьwillPresentError:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Вызванный, когда получатель собирается представить ошибку.
Объявление
Параметры
error
Ошибочный объект, собирающийся быть представленным пользователю.
Возвращаемое значение
Ошибка, которая должна фактически быть представлена.
Обсуждение
Реализация по умолчанию этого метода просто возвращает по ошибке переданный. Возвращенная ошибка может просто быть передана контроллеру документа.
Можно переопределить этот метод для настройки представления ошибок путем исследования по ошибке переданного и, например, возврата более определенной информации. Когда Вы переопределяете этот метод, всегда проверяют
NSError
домен объекта и код для различения между ошибками, представление которых Вы хотите настроить и те, Вы не делаете. Для ошибок Вы не хотите настраивать, вызывать реализацию суперкласса, передавая исходную ошибку.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Подтверждает что данный
NSError
объект не состоит в том, чтобы быть представлен пользователю, и ошибка не может быть восстановлена с, так, чтобы могла быть сделана очистка.Объявление
Swift
func willNotPresentError(_
error
: NSError)Objective C
- (void)willNotPresentError:(NSError *)
error
Параметры
error
NSError
объект, возвращенный другимNSDocument
метод.Обсуждение
Некоторые
NSDocument
методы, как включенные в письменной форме, могут не сразу удалить временные файлы, если существует шанс, что ошибка может быть восстановлена с, и работа может продолжаться. Чтобы удостовериться, что очистка всегда делается, необходимо вызвать этот метод сNSDocument
ошибки, не бывшие переданными одному изpresentError:...
методы. Например,NSDocument
реализацияNSFilePresenter
методsavePresentedItemChangesWithCompletionHandler:
вызывает этот метод, когда он вызываетautosaveWithImplicitCancellability:completionHandler:
и обработчик завершения передаетсяNSError
объект, потому что это не представляет ошибку пользователю.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
hasUndoManager hasUndoManager
СвойствоБулево значение, указывающее, владеет ли документ или должен владеть менеджером по отмене объект.
Объявление
Swift
var hasUndoManager: Bool
Objective C
@property BOOL hasUndoManager
Обсуждение
Если Вы изменяете значение этого свойства к НЕ, и документу уже принадлежит
NSUndoManager
объект, документ удаляет менеджера по отмене как наблюдателя связанных с отменой уведомлений и затем удаляет ее ссылку на объект.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
undoManager undoManager
СвойствоМенеджер по отмене документа объект.
Объявление
Swift
var undoManager: NSUndoManager?
Objective C
@property(strong) NSUndoManager *undoManager
Обсуждение
Когда
hasUndoManager
свойствоYES
true
, доступ к этому свойству создаетNSUndoManager
прежде, чем возвратить его. ЕслиhasUndoManager
свойствоNO
false
, значение этого свойстваnil
по умолчанию. Присвоение менеджера по отмене к этому свойству хранит ссылку на объект и автоматически изменяетсяhasUndoManager
свойство кYES
true
.Присваиваете ли Вы менеджера по отмене или позволяете документу создать один, документ регистрирует себя как наблюдатель различных
NSUndoManager
уведомления так, чтобы надлежащие действия документа были сохранены на стеке отмены.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Обновляет количество изменения получателя согласно данному типу изменения.
Объявление
Swift
func updateChangeCount(_
changeType
: NSDocumentChangeType)Objective C
- (void)updateChangeCount:(NSDocumentChangeType)
changeType
Параметры
changeType
Тип изменения, внесенного в документ. Для списка значений посмотрите
NSDocumentChangeType
.Обсуждение
Количество изменения указывает отредактированное состояние документа; если количество изменения 0, документ не имеет никаких изменений для сохранения, и если количество изменения больше, чем 0, документ был отредактирован и не сохраняется. При реализации отмены и восстановления в приложении необходимо постепенно увеличиться, изменение рассчитывают каждый раз, когда Вы создаете группу отмены и постепенно уменьшаете количество изменения, когда отмена или восстанавливает работу, выполняется.
Обратите внимание на то, что, если Вы используете
NSDocument
функции отмены/восстановления по умолчанию, устанавливая отредактированное состояние документа путем обновления количества изменения происходят автоматически. Когда Вы не используете эти функции, только необходимо вызвать этот метод.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Имя типа документа, как указано в приложении
Info.plist
файл.Обсуждение
Тип документа влияет, как данные отфильтрованы, когда это записано в или считано из файла. Когда документ сохраняется, тип определяется записями в информационном списке свойств приложения (указанный в
Info.plist)
.Вы не можете использовать это свойство для изменения формата документа после того, как это было уже открыто или сохранено. Это отчеты об имуществе только начальный формат документа, используемый, сначала открываясь или сохранив файл.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Тип файла, в последний раз выбранный в панели Save. (только для чтения)
Объявление
Swift
var fileTypeFromLastRunSavePanel: String? { get }
Objective C
@property(readonly, copy) NSString *fileTypeFromLastRunSavePanel
Обсуждение
Этот тип прежде всего используется
saveDocument:
,saveDocumentAs:
, иsaveDocumentTo:
были выполнены методы для определения типа, который пользователь выбрал после панели Save. Строка соответствует имени типа документа, поскольку это указано в приложенииInfo.plist
файл.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает булево значение, указывающее, являются ли данные документа указанного типа собственным типом — один, получатель может и читать и записать.
Объявление
Swift
class func isNativeType(_
aType
: String) -> BoolObjective C
+ (BOOL)isNativeType:(NSString *)
aType
Параметры
aType
Строка, идентифицирующая тип документа для тестирования.
Возвращаемое значение
YES
true
если тип документа является собственным типом; иначе,NO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает типы данных, которые получатель может считать исходно и любые типы, поддающиеся фильтрованию к тому собственному типу.
Возвращаемое значение
Массив
NSString
объекты, представляющие читаемые типы документов.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает булево значение, указывающее, читает ли получатель многократные документы данного типа одновременно.
Объявление
Swift
class func canConcurrentlyReadDocumentsOfType(_
typeName
: String) -> BoolObjective C
+ (BOOL)canConcurrentlyReadDocumentsOfType:(NSString *)
typeName
Параметры
typeName
Строка, идентифицирующая тип документа.
Возвращаемое значение
NO
false
по умолчанию; подклассы могут переопределить для возвратаYES
true
, таким образом, вызывающие документы указанного типа, который будет считан одновременно.Обсуждение
Ваш
NSDocument
подкласс может реализовать этот метод для возвратаYES
true
позволять загрузиться документов одновременно, с помощью фоновых потоков. Когда это средство включено таким образом,initWithContentsOfURL:ofType:error:
выполняется на фоновом потоке когда вводные файлы через панель Open или от Средства поиска. Это позволяет параллельное чтение многократных документов и также позволяет приложению быть быстро реагирующим при чтении большого документа.Реализация по умолчанию этого метода возвраты
NO
false
. Переопределение подкласса должно возвратитьсяYES
true
только для типов документов, чтение которых ориентировано на многопотоковое исполнение, как описано в Многожильных Соображениях. Необходимо отключить регистрацию отмены во время чтения документа, которое является хорошей идеей даже в отсутствие параллелизма.При проверке текущего События Apple на строку поиска Вы не должны включать параллельное открытие документа, потому что код, обрабатывающий открытие документа, инициированное Событием Apple, не может получить текущее Событие Apple. Это происходит, потому что событие приостановлено, пока все документы не читаются для включения корректного создания отчетов успеха или ошибки.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Возвращает типы данных, которые получатель может записать исходно и любые типы, поддающиеся фильтрованию к тому собственному типу.
Возвращаемое значение
Массив
NSString
объекты, представляющие перезаписываемые типы документов.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает имена типов, к которым этот документ может быть сохранен для указанного, отчасти сохраняют работу.
Объявление
Swift
func writableTypesForSaveOperation(_
saveOperation
: NSSaveOperationType) -> [AnyObject]Objective C
- (NSArray *)writableTypesForSaveOperation:(NSSaveOperationType)
saveOperation
Параметры
saveOperation
Отчасти сохраняют работу.
Возвращаемое значение
Массив
NSString
объекты, представляющие перезаписываемые типы документов.Обсуждение
Тип работы сохранения представлен
saveOperation
. Поскольку каждый отчасти сохраняют работу кромеNSSaveToOperation
, возвращенный массив должен только включать типы, для которых приложение может играть роль Редактора. ДляNSSaveToOperation
возвращенный массив может включать типы, для которых приложение может только играть роль Средства просмотра и другие типы, которые может просто экспортировать приложение. Реализация по умолчанию этого метода возвраты[[self class] writableTypes]
с, кроме во времяNSSaveToOperation
, типы те, для которыйisNativeType:
возвратыNO
false
отфильтрованный.Можно переопределить этот метод для ограничения набора перезаписываемых типов, когда документ в настоящее время содержит данные, которые не являются представимыми во всех типах. Например, когда документ содержит присоединение и может только быть сохранен должным образом к файлам RTFD, можно запретить сохранение к файлам RTF.
Можно вызвать этот метод при создании пользовательского представления аксессуара панели сохранения для представления легко того же набора типов как
NSDocument
делает в его стандартном всплывающем меню формата файла.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает расширение файла, которое может быть добавлено к основному имени файла, для указанного типа файла и отчасти сохранить работу.
Объявление
Swift
func fileNameExtensionForType(_
typeName
: String, saveOperationsaveOperation
: NSSaveOperationType) -> String?Objective C
- (NSString *)fileNameExtensionForType:(NSString *)
typeName
saveOperation:(NSSaveOperationType)saveOperation
Параметры
typeName
Тип файла.
saveOperation
Отчасти сохраняют работу.
Возвращаемое значение
Расширение файла.
Обсуждение
Реализация по умолчанию этого метода вызывает
preferredFilenameExtensionForType:
на совместно используемом объекте рабочей области, если тип является UTI или, если это не для обратной совместимости на уровне двоичных кодов с OS X v10.4 и ранее, вызываетfileExtensionsFromType:
на совместно используемом контроллере документа и выбирает первое расширение файла в возвращенном массиве.Можно переопределить этот метод для настройки добавления расширений имен файлов
NSDocument
. Запускаясь в OS X v10.5, это вызывается только от двух мест в AppKit:autosaveDocumentWithDelegate:didAutosaveSelector:contextInfo:
метод использует этот метод при создании нового имени файла для сохраненного автоматически содержания.handleSaveScriptCommand:
метод использует этот метод при добавлении расширения имени файла, указанного сценарием.
Во всех других случаях имя любого сохраненного файла будет полностью указано пользователем с панелью Save (знают ли они это или не).
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Проверяет указанный элемент интерфейса пользователя, которым управляет получатель.
Объявление
Swift
func validateUserInterfaceItem(_
anItem
: NSValidatedUserInterfaceItem) -> BoolObjective C
- (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)
anItem
Параметры
anItem
Элемент интерфейса пользователя для проверки.
Возвращаемое значение
YES
true
если элемент допустим; иначе,NO
false
.Обсуждение
Эти элементы в настоящее время включают, только Возвращаются и Сохраняют. Можно переопределить этот метод для добавления большего количества селекторов, проверенных подклассом документа.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Обрабатывает команду Close AppleScript путем попытки закрыть документ.
Объявление
Swift
func handleCloseScriptCommand(_
command
: NSCloseCommand) -> AnyObject?Objective C
- (id)handleCloseScriptCommand:(NSCloseCommand *)
command
Параметры
command
Близкий объект команды AppleScript.
Обсуждение
Выдержки Близкие аргументы команды от
command
возразите и использует их, чтобы определить, как закрыть документ — в частности, проигнорировать ли несохраненные изменения, сохранить изменения автоматически или спрашивает пользователя и идентифицировать файл, в котором можно сохранить документ (по умолчанию, файл, открытый или ранее сохраненный к). Команда Close AppleScript может указать больше чем один документ завершению. Если так, сообщение отправляется в каждый объект документа.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Обрабатывает команду Print AppleScript путем попытки распечатать документ.
Объявление
Swift
func handlePrintScriptCommand(_
command
: NSScriptCommand) -> AnyObject?Objective C
- (id)handlePrintScriptCommand:(NSScriptCommand *)
command
Параметры
command
Объект команды AppleScript.
Обсуждение
Параметры Команды печати выдержек от
command
возразите и использует их, чтобы определить, как распечатать документ — в частности, любые настройки печати и показать ли диалоговое окно Печати. Команда Print AppleScript может указать больше чем один документ печати. Если так, сообщение отправляется в каждый документ.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Обрабатывает команду Save AppleScript путем попытки сохранить документ.
Объявление
Swift
func handleSaveScriptCommand(_
command
: NSScriptCommand) -> AnyObject?Objective C
- (id)handleSaveScriptCommand:(NSScriptCommand *)
command
Параметры
command
Объект команды AppleScript.
Обсуждение
Выдержки Сохраняют аргументы команды от
command
возразите и использует их для определения файла, в котором можно сохранить документ и тип файла.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает объектный спецификатор для документа.
Объявление
Swift
var objectSpecifier: NSScriptObjectSpecifier { get }
Objective C
@property(readonly, strong) NSScriptObjectSpecifier *objectSpecifier
Возвращаемое значение
Спецификатор объекта документа.
Обсуждение
Объектный спецификатор представляет ссылочную форму AppleScript, которая является выражением естественного языка такой как
words 10 through 20
илиfront document
. Во время обработки сценария, объект, содержавший документом (такой какsecond paragraph
илиthird rectangle
) возможно, должен указать его контейнер (документ).Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает название документа с точки зрения свойства имени сценариев (имя, которое писатель сценария использовал бы для указания документа в сценарии).
Объявление
Swift
var lastComponentOfFileName: String
Objective C
@property(copy) NSString *lastComponentOfFileName
Возвращаемое значение
Имя сценариев документа.
Обсуждение
Обратите внимание на то, что это имя может отличаться, чем имя файла в
fileURL
или используемый в методах такой какwriteToFile:ofType:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает название документа в данную строку с точки зрения свойства имени сценариев (имя, которое писатель сценария использовал бы для указания документа в сценарии).
Объявление
Swift
var lastComponentOfFileName: String
Objective C
@property(copy) NSString *lastComponentOfFileName
Параметры
str
Имя сценариев документа.
Обсуждение
Обратите внимание на то, что это имя может отличаться, чем имя, используемое в
fileURL
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
canCloseDocument - canCloseDocument
Доступный в OS X v10.0 через OS X v10.3Этот метод больше не поддерживается.
Оператор осуждения
Использовать
canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo:
вместо этого.Объявление
Objective C
- (BOOL)canCloseDocument
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 через OS X v10.3.
Не доступный 64-разрядным приложениям.
-
dataRepresentationOfType: - dataRepresentationOfType:
(OS X v10.4)Примитивный метод, переопределенный подклассами для возврата объекта данных, представляющего данные получателя в данном типе.
Оператор осуждения
Использовать
dataOfType:error:
вместо этого.Обсуждение
Примитивный метод, переопределенный подклассами для возврата объекта данных, представляющего данные получателя в данном типе (
aType
). Реализация по умолчаниюraises
NSInternalInconsistencyException
. Этот метод вызывается реализацией по умолчаниюfileWrapperRepresentationOfType:.
aType
имя типа, соответствующее значениюCFBundleTypeName
запись в типе документаInfo.plist
словарь.Вот типичная реализация:
//Document type name
NSString *MyDocumentType = @"Rich Text Format (RTF) document";
...
- (NSData *)dataRepresentationOfType:(NSString *)aType {
NSAssert([aType isEqualToString:MyDocumentType], @"Unknown type");
return [textView RTFFromRange:NSMakeRange(0, [[textView textStorage] length])];
}
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
См. также
-
fileAttributesToWriteToFile:ofType:saveOperation: - fileAttributesToWriteToFile:ofType:saveOperation:
(OS X v10.4)Возвращает атрибуты файла, которые должны быть записаны в именованный файл документа указанного типа.
Оператор осуждения
Использовать
fileAttributesToWriteToURL:ofType:forSaveOperation:originalContentsURL:error:
вместо этого.Объявление
Objective C
- (NSDictionary *)fileAttributesToWriteToFile:(NSString *)
fullDocumentPath
ofType:(NSString *)documentTypeName
saveOperation:(NSSaveOperationType)saveOperationType
Обсуждение
Возвращает атрибуты файла, которые должны быть записаны в именованный файл документа указанного типа
docType
, как часть деталиsaveOperationType
. Набор атрибутов правильного файла является подмножеством понятых подNSFileManager
класс.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.1 и позже.
Осуждаемый в OS X v10.4.
-
имя файла - имя файла
(OS X v10.4)Возвращает имя файла (как полностью определенный путь), под которым был сохранен получатель.
Оператор осуждения
Использовать
fileURL
вместо этого.Объявление
Objective C
- (NSString *)fileName
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
fileNameFromRunningSavePanelForSaveOperation: - fileNameFromRunningSavePanelForSaveOperation:
Доступный в OS X v10.0 через OS X v10.3Возвращается имя файла ввело в панель Save.
Оператор осуждения
Использовать
saveDocumentWithDelegate:didSaveSelector:contextInfo:
вместо этого.Объявление
Objective C
- (NSString *)fileNameFromRunningSavePanelForSaveOperation:(NSSaveOperationType)
saveOperation
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 через OS X v10.3.
Не доступный 64-разрядным приложениям.
-
Возвращает объект NSFileWrapper, представляющий данные получателя в данном типе.
Оператор осуждения
Использовать
fileWrapperOfType:error:
вместо этого.Объявление
Objective C
- (NSFileWrapper *)fileWrapperRepresentationOfType:(NSString *)
type
Обсуждение
Возвраты
NSFileWrapper
объект, представляющий данные получателя в данном типе (aType
). Этот метод вызываетdataRepresentationOfType:
получить объект данных, из которого можно создать обертку файла простого файла. Подклассы могут переопределить этот метод еслиdataRepresentationOfType:
не достаточен для их потребностей. Этот метод вызывается реализацией по умолчаниюwriteToFile:ofType:
.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
См. также
-
Инициализирует и возвращается
NSDocument
объект.Оператор осуждения
Использовать
initWithContentsOfURL:ofType:error:
вместо этого.Объявление
Обсуждение
Инициализирует и возвращает объект NSDocument типа документа
docType
содержание данных сохранено в файлеfileName
. В открытии файла, вызываетreadFromFile:ofType:
метод. Если документ успешно открывает файл, он обновляетfileURL
иfileType
. Если файл не может быть открыт, или документ неспособен загрузить содержание файла, этот метод возвратыnil
. Этот инициализатор обычно вызываетсяNSDocumentController
методmakeDocumentWithContentsOfFile:ofType:
.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
Инициализирует и возвращает объект NSDocument данного типа документа.
Оператор осуждения
Использовать
initWithContentsOfURL:ofType:error:
вместо этого.Обсуждение
Инициализирует и возвращается
NSDocument
объект типа документаdocType
содержа данные, хранившие вaURL
. В открытии расположения, вызываетreadFromURL:ofType:
метод. Если документ успешно открывает расположение, он обновляетfileURL
иfileType
. Если расположение не может быть открыто, или документ неспособен загрузить содержание расположения, этот метод возвратыnil
. Этот инициализатор обычно вызываетсяNSDocumentController
методmakeDocumentWithContentsOfURL:ofType:
.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
Переопределенный подклассами для загрузки данных документа.
Оператор осуждения
Использовать
readFromData:ofType:error:
вместо этого.Обсуждение
Переопределенный подклассами для загрузки данных документа (
docData
) из типаdocType
в получатель выведите на экран его в окнах и возвратитесь, была ли работа успешна. Этот метод обычно вызываетсяloadFileWrapperRepresentation:ofType:
послеNSData
объект создается из содержания обертки файла (который может включать каталоги). Реализация по умолчаниюraises
NSInternalInconsistencyException
. Подклассы должны переопределить этот метод, если они не переопределяютreadFromFile:ofType:
илиloadFileWrapperRepresentation:ofType:
сделать специализированное чтение и загрузку данных документа.docType
параметром является имя типа, соответствующее значениюCFBundleTypeName
запись в типе документаInfo.plist
словарь.Вот реализация в качестве примера:
//Document type name
NSString *MyDocumentType = @"Rich Text Format (RTF) document";
...
- (BOOL)loadDataRepresentation:(NSData *)data ofType:(NSString *)aType {
NSAssert([aType isEqualToString: MyDocumentType], @"Unknown type");
fileContents = [data copyWithZone:[self zone]];
return YES;
}
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
См. также
-
Данные документа загрузок от данной обертки файла.
Оператор осуждения
Использовать
readFromFileWrapper:ofType:error:
вместо этого.Объявление
Objective C
- (BOOL)loadFileWrapperRepresentation:(NSFileWrapper *)
wrapper
ofType:(NSString *)type
Обсуждение
Данные документа загрузок в обертке файла
wrapper
из типаdocType
в получатель дисплеи это в окнах, и возвращается, была ли работа успешна. Еслиwrapper
простой файл, он вызываетloadDataRepresentation:ofType:
загрузить данные. Еслиwrapper
каталог, он возвращаетсяNO
false
по умолчанию; подклассы могут переопределить для обработки оберток файла, которые являются каталогами. Этот метод обычно вызываетсяreadFromFile:ofType:
после того, как это создает объект NSData из содержания файла.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
См. также
-
printShowingPrintPanel: - printShowingPrintPanel:
(OS X v10.4)Переопределенный подклассами для печати текущего документа (получатель) данные.
Оператор осуждения
Использовать
printDocumentWithSettings:showPrintPanel:delegate:didPrintSelector:contextInfo:
вместо этого.Объявление
Objective C
- (void)printShowingPrintPanel:(BOOL)
flag
Обсуждение
Переопределенный подклассами для печати текущего документа (получатель) данные; если
flag
YES
true
, реализация должна сначала вывести на экран панель Print. Этот метод обычно вызываетсяprintDocument:
с параметромYES
true
. Реализация по умолчанию ничего не делает. Если существует информация о печати кроме закодированного в получателеNSPrintInfo
объект, подклассы должны получить его здесь.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
readFromFile:ofType: - readFromFile:ofType:
(OS X v10.4)Чтения и данные документа загрузок данного типа от данного файла.
Оператор осуждения
Использовать
readFromURL:ofType:error:
вместо этого.Обсуждение
Чтения и данные документа загрузок типа
docType
от файлаfileName
, возврат, была ли работа успешна. Этот метод вызываетloadDataRepresentation:ofType:
когда получатель сначала создается и инициализируется, и вызываетсяinitWithContentsOfFile:ofType:
. Это используетNSData
initWithContentsOfFile:
получить данные документа.Этот метод является одним из основанных на местоположении примитивов. Подклассы могут переопределить этот метод вместо переопределения
loadDataRepresentation:ofType:
считать и загрузить данные документа. Подклассы, обрабатывающие пакеты файла, такие как RTFD или та обработка расположения файлов как что-либо кроме путей, должны переопределить этот метод. Реализации переопределения этого метода могут отфильтровать использование данных документаNSPasteboard
или другие службы фильтрации.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
readFromURL:ofType: - readFromURL:ofType:
(OS X v10.4)Чтения и данные документа загрузок.
Оператор осуждения
Использовать
readFromURL:ofType:error:
вместо этого.Обсуждение
Чтения и данные документа загрузок типа
docType
от URLaURL
, возврат, была ли работа успешна. Этот метод только поддерживает URLsfile:
схема и вызовыreadFromFile:ofType:
.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
Возвращается получатель к данным, хранившим в файловой системе.
Оператор осуждения
Использовать
revertToContentsOfURL:ofType:error:
вместо этого.Обсуждение
Возвращается получатель к данным, хранившим в файловой системе в названном файле
fileName
из типа файлаtype
. ВызываетreadFromFile:ofType:
и возвраты, считал ли тот метод успешно файл и обработал данные документа.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
Возвращается получатель.
Оператор осуждения
Использовать
revertToContentsOfURL:ofType:error:
вместо этого.Обсуждение
Возвращается получатель к данным, хранившим в
aURL
из типаtype
. ВызываетreadFromURL:ofType:
и возвраты, считал ли тот метод успешно файл и обработал данные документа.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
Выполняет макет страницы модальная панель с информационным объектом печати получателя.
Оператор осуждения
Использовать
runModalPageLayoutWithPrintInfo:delegate:didRunSelector:contextInfo:
вместо этого.Объявление
Objective C
- (NSInteger)runModalPageLayoutWithPrintInfo:(NSPrintInfo *)
printInfo
Обсуждение
Выполняет макет страницы модальная панель с информационным объектом печати получателя (
printInfo
) как параметр и возвраты постоянный результат (указание кнопки, нажатой пользователем). Для выполнения как лист на окне документа получателя использоватьrunModalPageLayoutWithPrintInfo:delegate:didRunSelector:contextInfo:
вместо этого.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
saveToFile:saveOperation:delegate:didSaveSelector:contextInfo: - saveToFile:saveOperation:delegate:didSaveSelector:contextInfo:
(OS X v10.4)Вызванный после того, как пользователю дали возможность выбрать место назначения через модальную панель Save.
Оператор осуждения
Использовать
saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:
вместо этого.Объявление
Objective C
- (void)saveToFile:(NSString *)
fileName
saveOperation:(NSSaveOperationType)saveOperation
delegate:(id)delegate
didSaveSelector:(SEL)didSaveSelector
contextInfo:(void *)contextInfo
Обсуждение
Вызванный после того, как пользователю дали возможность выбрать место назначения через модальную панель Save, представленную
runModalSavePanelForSaveOperation:delegate:didSaveSelector:contextInfo:
.delegate
присваивается панели Save. ЕслиfileName
не -nil
, этот метод пишет документfileName
, устанавливает расположение файла документа и тип документа (если собственный тип), и очищает отредактированное состояние документа.didSaveSelector
с вызываютYES
true
если документ сохраняется успешно, иNO
false
иначе.saveOperation
одна из констант в Константах. ПередачаcontextInfo
с обратным вызовом.didSaveSelector
метод обратного вызова должен иметь следующую подпись:- (void)document:(NSDocument *)doc didSave:(BOOL)didSave contextInfo:(void *)contextInfo
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
Поскольку деталь отчасти сохраняют работу и возвраты, сохраняет содержание документа файлу или пакету файла, расположенному URL, отформатированным к указанному типу
YES
true
в случае успеха.Оператор осуждения
Использовать
saveToURL:ofType:forSaveOperation:completionHandler:
вместо этого.Объявление
Objective C
- (BOOL)saveToURL:(NSURL *)
absoluteURL
ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
error:(NSError **)outError
Параметры
absoluteURL
Расположение файла или пакета файла, к которому сохраняется содержание документа.
typeName
Строка, идентифицирующая тип документа.
saveOperation
Тип работы сохранения.
outError
По возврату, если содержание документа не могло бы быть сохранено, указатель на ошибочный объект, инкапсулирующий причину, они не могли быть сохранены.
Возвращаемое значение
YES
true
если было успешно сохранено содержание документа; иначе,NO
false
.Обсуждение
Можно переопределить этот метод, чтобы сделать вещи, которые должны быть сделаны прежде или после того, как любой сохраняет работу. При переопределении этого метода необходимо вызвать
super
в некоторый момент в Вашей реализации.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.6.
-
setFileName: - setFileName:
(OS X v10.4)Устанавливает файл (имя файла и путь к каталогу), под которым сохраняются данные документа.
Оператор осуждения
Использовать
setFileURL:
вместо этого.Объявление
Objective C
- (void)setFileName:(NSString *)
fileName
Обсуждение
Устанавливает файл (имя файла и путь к каталогу), под которым данные документа сохраняются к
fileName
. Как побочный эффект, синхронизирует заголовки окон документа с новым именем или расположением. Имя файла документа автоматически установлено, когда оно сохраняется, как новый документ (Сохраняет) и когда существующий документ сохраняется под различным именем файла, или путь (Сохраните Как). Средство поиска также отслеживает открытые документы и их связанные файлы. Когда пользователь перемещает или переименовывает файл в Средстве поиска, соответствующем открытому документу, вызовам Средства поискаsetFileName:
с новым именем файла.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
shouldCloseWindowController: - shouldCloseWindowController:
Доступный в OS X v10.0 через OS X v10.3Дает пользователю возможность сохранить документ.
Оператор осуждения
Использовать
shouldCloseWindowController:delegate:shouldCloseSelector:contextInfo:
вместо этого.Объявление
Objective C
- (BOOL)shouldCloseWindowController:(NSWindowController *)
windowController
Обсуждение
При закрытии
windowController
заставил бы получатель быть закрытым, вызываетcanCloseDocumentWithDelegate:shouldCloseSelector:contextInfo:
вывести на экран панель Save и дать пользователю возможность сохранить документ. Возвращает возвращаемое значениеcanCloseDocumentWithDelegate:shouldCloseSelector:contextInfo:
. Обратите внимание на то, что получатель не закрывается, пока не закрывается его контроллер окна.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 через OS X v10.3.
Не доступный 64-разрядным приложениям.
-
validateMenuItem: - validateMenuItem:
Доступный в OS X v10.0 через OS X v10.3Проверяет пункт меню Revert и элементы, выбранные из раскрывающегося списка панели Save перезаписываемых элементов типов документов.
Оператор осуждения
Использовать
validateUserInterfaceItem:
вместо этого.Объявление
Objective C
- (BOOL)validateMenuItem:(NSMenuItem *)
anItem
Обсуждение
Возвраты
YES
true
еслиanItem
должен быть включен,NO
false
иначе. ВозвратыYES
true
для Возвращаются, если документ был отредактирован, и файл существует для документа. ВозвратыYES
true
для элемента, представляющего перезаписываемый тип, если во время операции Save или Save As это - собственный тип для документа. Подклассы могут переопределить этот метод для выполнения дополнительных проверок.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 через OS X v10.3.
Не доступный 64-разрядным приложениям.
-
writeToFile:ofType: - writeToFile:ofType:
(OS X v10.4)Данные документа записей к файлу.
Оператор осуждения
Использовать
writeToURL:ofType:error:
вместо этого.Обсуждение
Данные документа записей типа
docType
к файлуfileName
, возврат, была ли работа успешна. Этот метод вызываетdataRepresentationOfType:
и косвенно вызывается каждый раз, когда сохраняется файл документа. Это используетNSData
методwriteToFile:atomically:
записать в файл.Этот метод является одним из основанных на местоположении примитивов. Подклассы могут переопределить этот метод вместо переопределения
dataRepresentationOfType:
записать данные документа в файловую систему какNSData
объект после создания того объекта от внутренних структур данных. Подклассы, обрабатывающие пакеты файла, такие как RTFD или та обработка расположения файлов как что-либо кроме путей, должны переопределить этот метод. Реализации переопределения этого метода должны гарантировать, чтобы они отфильтровали данные документа соответственно с помощьюNSPasteboard
фильтрация служб.См., что Документ Сохраняет Поведение для получения дополнительной информации о сохранении документов.
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
writeToFile:ofType:originalFile:saveOperation: - writeToFile:ofType:originalFile:saveOperation:
(OS X v10.4)Пишет содержание документа получателя в файл.
Оператор осуждения
Использовать
writeToURL:ofType:forSaveOperation:originalContentsURL:error:
вместо этого.Объявление
Objective C
- (BOOL)writeToFile:(NSString *)
fullDocumentPath
ofType:(NSString *)documentTypeName
originalFile:(NSString *)fullOriginalDocumentPath
saveOperation:(NSSaveOperationType)saveOperationType
Обсуждение
От этого метода вызывают
writeWithBackupToFile:ofType:saveOperation:
фактически записать файл типаdocType
кfullDocumentPath
.fullOriginalDocumentPath
если существует один и, путь к исходному файлуnil
иначе. Реализация по умолчанию просто вызываетwriteToFile:ofType:
. Вы не должны должны быть вызывать этот метод непосредственно, но подклассы, которые должны получить доступ к ранее сохраненной копии их документа при сохранении нового, могут переопределить этот метод.saveOperationType
параметром является одна из констант, перечисленных в Константах.См., что Документ Сохраняет Поведение для получения дополнительной информации о сохранении документов.
Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
writeToURL:ofType: - writeToURL:ofType:
(OS X v10.4)Данные документа записей к URL.
Оператор осуждения
Использовать
writeToURL:ofType:error:
вместо этого.Обсуждение
Данные документа записей типа
docType
к URLaURL
, возврат, была ли работа успешна. Этот метод только поддерживает URLsfile:
схема и вызовыwriteToFile:ofType:
.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
-
writeWithBackupToFile:ofType:saveOperation: - writeWithBackupToFile:ofType:saveOperation:
(OS X v10.4)Этот метод вызывают методы действия сохранить содержание документа к файлу.
Оператор осуждения
Использовать
writeSafelyToURL:ofType:forSaveOperation:error:
вместо этого.Объявление
Objective C
- (BOOL)writeWithBackupToFile:(NSString *)
fullDocumentPath
ofType:(NSString *)documentTypeName
saveOperation:(NSSaveOperationType)saveOperationType
Обсуждение
Этот метод вызывают методы действия как
saveDocument:
,saveDocumentAs:
, иsaveDocumentTo:
. Это ответственно за обработку резервного копирования существующего файла, если таковые имеются, и удаления того резервного копирования еслиkeepBackupFile
возвратыNO
false
. Промежуточный те две вещи, это вызываетwriteToFile:ofType:originalFile:saveOperation:
записать документ типаdocType
кfullDocumentPath
. Вы никогда не должны должны быть вызыватьwriteWithBackupToFile:ofType:saveOperation:
, но подклассы, хотящие изменить путь резервные работы, могут переопределить его.saveOperationType
параметром является одна из констант, перечисленных в Константах.При переопределении этого метода необходимо вызвать
fileAttributesToWriteToFile:ofType:saveOperation:
и набор переменные возвратился из этого метода при записиfullDocumentPath
.NSFileManager
changeFileAttributes:atPath:
может использоваться, чтобы сделать это.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.4.
Типы данных
-
Количества изменения указывают состояние редактирования документа. Эти константы указывают, как документ должен воздействовать на его изменение, рассчитывают и передаются
updateChangeCount:
метод.Объявление
Swift
enum NSDocumentChangeType : UInt { case ChangeDone case ChangeUndone case ChangeRedone case ChangeCleared case ChangeReadOtherContents case ChangeAutosaved case ChangeDiscardable }
Objective C
typedef enum NSDocumentChangeType : NSUInteger { NSChangeDone = 0, NSChangeUndone = 1, NSChangeCleared = 2, NSChangeReadOtherContents = 3, NSChangeAutosaved = 4, NSChangeRedone = 5, NSChangeDiscardable = 256 } NSDocumentChangeType;
Константы
-
ChangeDone
NSChangeDone
Инкрементное количество изменения. Передайте это значение
updateChangeCount:
метод, чтобы указать, что было сделано единственное изменение. Например, встроенная поддержка отмены вNSDocument
класс передает это значение каждый раз, когда документ получаетNSUndoManagerDidCloseUndoGroupNotification
уведомление от его собственного менеджера по отмене.Доступный в OS X v10.0 и позже.
-
ChangeUndone
NSChangeUndone
Декрементное количество изменения. Было отменено единственное изменение. Например, встроенная поддержка отмены
NSDocument
передачи это значение каждый раз, когда документ получаетNSUndoManagerDidUndoChangeNotification
от его собственного менеджера по отмене.Доступный в OS X v10.0 и позже.
-
ChangeCleared
NSChangeCleared
Изменение набора рассчитывает к 0. Документ синхронизировался с его файлом или пакетом файла. Например,
saveToURL:ofType:forSaveOperation:error:
передачи это значение для успешногоNSSaveOperation
илиNSSaveAsOperation
.revertDocumentToSaved:
метод делает также.Доступный в OS X v10.0 и позже.
-
ChangeReadOtherContents
NSChangeReadOtherContents
Документ был инициализирован с содержанием файла или пакета файла кроме того, расположение которого находится в
fileURL
свойство, и поэтому не может возможно синхронизироваться с его персистентным представлением. Например,initForURL:withContentsOfURL:ofType:error:
передачи это значение, когда эти два передали - в URLs, не равно, чтобы указать, что вновь открывается сохраненный автоматически документ.Доступный в OS X v10.4 и позже.
-
ChangeAutosaved
NSChangeAutosaved
Содержание документа было сохранено автоматически. Например,
saveToURL:ofType:forSaveOperation:error:
передачи это значение для успешногоNSAutosaveOperation
.Доступный в OS X v10.4 и позже.
-
ChangeRedone
NSChangeRedone
Было восстановлено единственное изменение. Например, встроенная поддержка отмены
NSDocument
передачи это значение каждый раз, когда документ получаетNSUndoManagerDidRedoChangeNotification
от его собственного менеджера по отмене.Доступный в OS X v10.5 и позже.
-
ChangeDiscardable
NSChangeDiscardable
Было сделано отбрасываемое изменение. Отбрасываемые изменения заставляют документ быть отредактированным. В заблокированном документе, например, отбрасываемые изменения могут быть выброшены вместо того, чтобы предложить пользователю сохранять их. Объедините это значение с надлежащим видом изменения,
NSChangeDone
,NSChangeUndone
, илиNSChangeRedone
, использование оператора битового «ИЛИ» C. Например, отбрасываемое изменениеNSChangeDone | NSChangeDiscardable
.Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
-
Тип работы сохранения указывает, что тип документа сохраняет работу для выполнения. Эти значения используются с параметрами метода типа
Save Operation Types
. В зависимости от метода тип работы сохранения может влиять на заголовок диалогового окна Сохранения и может влиять, какие файлы выведены на экран в диалоговом окне.Объявление
Swift
enum NSSaveOperationType : UInt { case SaveOperation case SaveAsOperation case SaveToOperation case AutosaveInPlaceOperation case AutosaveElsewhereOperation case AutosaveAsOperation }
Objective C
typedef enum NSSaveOperationType : NSUInteger { NSSaveOperation = 0, NSSaveAsOperation = 1, NSSaveToOperation = 2, NSAutosaveElsewhereOperation = 3, NSAutosaveInPlaceOperation = 4, NSAutosaveAsOperation = 5 } NSSaveOperationType;
Константы
-
SaveOperation
NSSaveOperation
Операция Save, перезаписывающая файл документа или пакет файла с содержанием документа.
Доступный в OS X v10.0 и позже.
-
SaveAsOperation
NSSaveAsOperation
Операция Save As, пишущая содержание документа в новый файл или пакет файла и затем изменяющая текущее местоположение документа для указания на просто записанный файл или пакет файла.
Доступный в OS X v10.0 и позже.
-
SaveToOperation
NSSaveToOperation
Операция Save To, пишущая содержание документа в новый файл или пакет файла, не изменяя текущее местоположение документа для указания на новый файл или пакет.
Доступный в OS X v10.0 и позже.
-
AutosaveElsewhereOperation
NSAutosaveElsewhereOperation
Операция Autosave Elsewhere, пишущая содержание документа в файл или пакет файла, который является отдельным от текущего расположения документа, не изменяя текущее местоположение документа.
Для
NSDocument
переопределяющий подклассautosavesInPlace
иметь значениеYES
true
, это используется во время автоматического сохранения документов, никогда не сохранявшихся и поэтому еще не имеющих файла документа, который может быть перезаписан во время автоматического сохранения.NSDocument
май также передаетNSAutosaveElsewhereOperation
при вызовеwriteSafelyToURL:ofType:forSaveOperation:error:
при дублировании или возвращении документа.Доступный в OS X v10.7 и позже.
-
AutosaveInPlaceOperation
NSAutosaveInPlaceOperation
Операция Autosave In Place, перезаписывающая файл документа или пакет файла с текущим содержанием документа даже при том, что пользователь явно не запросил его.
Доступный в OS X v10.7 и позже.
-
AutosaveAsOperation
NSAutosaveAsOperation
Операция Autosave As, пишущая содержание документа в новый файл или пакет файла даже при том, что пользователь явно не запросил его, затем изменяет текущее местоположение документа для указания на просто записанный файл или пакет файла.
Доступный в OS X v10.8 и позже.
-
NSAutosaveOperation
NSAutosaveOperation
Старое название для
NSAutosaveElsewhereOperation
тип работы.Осуждаемый в OS X v10.7. Использовать
NSAutosaveElsewhereOperation
вместо этого.Доступный в OS X v10.4 и позже.
Осуждаемый в OS X v10.7.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
-
Когда
NSUbiquitousDocumentUserActivityType
присутствует в aCFBundleDocumentTypes
запись, AppKit автоматически создаетNSUserActivity
объект для документов в iCloud, с помощью данного типа действия. URL ассоциированного документа помещается вNSUserActivity
объектuserInfo
словарь под этим ключом.Объявление
Swift
let NSUserActivityDocumentURLKey: NSString!
Objective C
NSString * const NSUserActivityDocumentURLKey
Константы
-
NSUserActivityDocumentURLKey
NSUserActivityDocumentURLKey
Ключ
NSUserActivity
объектuserInfo
словарь. Его значением является URL документа, связанного с пользовательским действием.Доступный в OS X v10.10 и позже.
-