NSUndoManager
NSUndoManager
устройство записи общего назначения операций для отмены и восстановления.
Вы регистрируете работу отмены путем указания объекта, который это изменяет (или владелец того объекта), вместе с методом для вызова для возвращения его состояния и параметров за тот метод. При выполнении отмены NSUndoManager
сохраняет операции, вернувшиеся так, чтобы можно было восстановить неDOS.
NSUndoManager
реализован как класс платформы Основы, потому что исполнимые программы кроме приложений могли бы хотеть вернуться изменения в своих состояниях. Например, Вы могли бы иметь интерактивный инструмент командной строки с отменой и восстановить команды, или могли быть распределенные реализации объектов, которые могут вернуться операции “по проводу”. Однако пользователи обычно видят отмену и восстановление как функции приложения. Отмена реализаций UIKit и восстановление в его текстовом представлении возражают, и упрощает реализовывать его в объектах вдоль цепочки респондента (см. UIResponder
).
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Записывает единственную работу отмены для данной цели, так, чтобы, когда отмена выполняется, она была отправлена указанный селектор с данным объектом как единственный параметр.
Объявление
Swift
func registerUndoWithTarget(_
target
: AnyObject, selectoraSelector
: Selector, objectanObject
: AnyObject?)Objective C
- (void)registerUndoWithTarget:(id)
target
selector:(SEL)aSelector
object:(id)anObject
Параметры
target
Цель работы отмены.
aSelector
Селектор для работы отмены.
anObject
Параметр отправил с селектором.
Обсуждение
Также очищает стек повторного выполнения. Не сохраняет
target
, но действительно сохраняетanObject
. Посмотрите Регистрирующиеся Операции Отмены для получения дополнительной информации.Повышения
NSInternalInconsistencyException
если вызвано, когда никакая группа отмены не была установлена с помощьюbeginUndoGrouping
. Группы отмены обычно устанавливаются по умолчанию, таким образом, необходимо редко должны быть начать группу отмены верхнего уровня явно.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Подготавливает получатель к основанной на вызове отмене с данной целью как предмет следующей работы отмены и возвратов
self
.Объявление
Swift
func prepareWithInvocationTarget(_
target
: AnyObject) -> AnyObjectObjective C
- (id)prepareWithInvocationTarget:(id)
target
Параметры
target
Цель работы отмены. Менеджер по отмене поддерживает слабую ссылку на цель.
Возвращаемое значение
self
.Обсуждение
Посмотрите Регистрирующиеся Операции Отмены для получения дополнительной информации.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Булево значение, указывающее, имеет ли получатель какие-либо действия для отмены. (только для чтения)
Объявление
Swift
var canUndo: Bool { get }
Objective C
@property(readonly) BOOL canUndo
Обсуждение
YES
true
если получатель имеет какие-либо действия для отмены, иначеNO
false
.Возвращаемое значение не означает, что можно безопасно вызвать
undo
илиundoNestedGroup
— Вам, вероятно, придется закрыть открытые группы отмены сначала.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Булево значение, указывающее, имеет ли получатель какие-либо действия для восстановления. (только для чтения)
Объявление
Swift
var canRedo: Bool { get }
Objective C
@property(readonly) BOOL canRedo
Обсуждение
YES
true
если получатель имеет какие-либо действия для восстановления, иначеNO
false
.Поскольку любая зарегистрированная работа отмены очищает стек повторного выполнения, этот метод отправляет
NSUndoManagerCheckpointNotification
позволить клиентам применять свои незаконченные операции прежде, чем протестировать стек повторного выполнения.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Если необходимый и вызывает, закрывает группу отмены верхнего уровня
undoNestedGroup
.Объявление
Swift
func undo()
Objective C
- (void)undo
Обсуждение
Этот метод также вызывает
endUndoGrouping
если уровень вложенности равняется 1. ПовышенияNSInternalInconsistencyException
если больше чем одна группа отмены открыта (т.е. если последняя группа не на верхнем уровне).Этот метод отправляет
NSUndoManagerCheckpointNotification
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Выполняет операции отмены в последней группе отмены (или верхний уровень или вложенный), записывая операции на стеке повторного выполнения как единственная группа.
Объявление
Swift
func undoNestedGroup()
Objective C
- (void)undoNestedGroup
Обсуждение
Повышения
NSInternalInconsistencyException
если какие-либо операции отмены были зарегистрированы начиная с последнегоenableUndoRegistration
сообщение.Этот метод отправляет
NSUndoManagerCheckpointNotification
иNSUndoManagerWillUndoChangeNotification
прежде чем это выполнит работу отмены, и это отправляетNSUndoManagerDidUndoChangeNotification
после того, как это выполняет работу отмены.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Выполняет операции в последней группе на стеке повторного выполнения, если существует кто-либо, записывая их на стеке отмены как единственная группа.
Объявление
Swift
func redo()
Objective C
- (void)redo
Обсуждение
Повышения
NSInternalInconsistencyException
если метод вызывается во время работы отмены.Этот метод отправляет
NSUndoManagerCheckpointNotification
иNSUndoManagerWillRedoChangeNotification
прежде чем это выполнит работу восстановления, и это отправляетNSUndoManagerDidRedoChangeNotification
после того, как это выполняет работу восстановления.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
levelsOfUndo levelsOfUndo
СвойствоМаксимальное количество отмены верхнего уровня группируется, получатель содержит.
Обсуждение
Целое число, указывающее число групп отмены. Предел
0
не указывает предела, таким образом, никогда не отбрасываются старые группы отмены.Когда окончание группы отмены приводит к числу групп, превышающих этот предел, самые старые группы отбрасываются от штабеля. Значение по умолчанию
0
.Если Вы изменяете предел уровню ниже предшествующего предела, старые группы отмены сразу отбрасываются.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Отмечает начало группы отмены.
Объявление
Swift
func beginUndoGrouping()
Objective C
- (void)beginUndoGrouping
Обсуждение
Все отдельные операции отмены перед последующим
endUndoGrouping
сообщение группируется и инвертируется более позднимundo
сообщение. Отменой по умолчанию группы начаты автоматически в начале цикла событий, но можно начать собственные группы отмены с этого метода и вложить их в других группах.Этот метод отправляет
NSUndoManagerCheckpointNotification
если отмена верхнего уровня не происходит. Это отправляетNSUndoManagerDidOpenUndoGroupNotification
если успешно создавалась новая группа.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Отмечает конец группы отмены.
Объявление
Swift
func endUndoGrouping()
Objective C
- (void)endUndoGrouping
Обсуждение
Все отдельные операции отмены назад к соответствию
beginUndoGrouping
сообщение группируется и инвертируется более позднимundo
илиundoNestedGroup
сообщение. Группы отмены могут быть вложены, таким образом обеспечив функциональность, подобную вложенным транзакциям. ПовышенияNSInternalInconsistencyException
если существует нетbeginUndoGrouping
сообщение в действительности.Этот метод отправляет
NSUndoManagerCheckpointNotification
иNSUndoManagerDidCloseUndoGroupNotification
непосредственно перед тем, как группа закрывается.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
groupsByEvent groupsByEvent
СвойствоБулево значение, указывающее, создает ли получатель автоматически группы отмены вокруг каждой передачи цикла выполнения.
Объявление
Swift
var groupsByEvent: Bool
Objective C
@property BOOL groupsByEvent
Обсуждение
YES
true
если получатель автоматически создает группы отмены вокруг каждой передачи цикла выполнения, иначеNO
false
.Значение по умолчанию
YES
true
. Если Вы выключаете автоматическую группировку, необходимо закрыть группы явно прежде, чем вызвать такжеundo
илиundoNestedGroup
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
groupingLevel groupingLevel
СвойствоЧисло вложенных групп отмены (или групп восстановления, если Восстановление было вызвано в последний раз) в цикле текущего события. (только для чтения)
Объявление
Swift
var groupingLevel: Int { get }
Objective C
@property(readonly) NSInteger groupingLevel
Обсуждение
Целое число, указывающее число вложенных групп. Если 0 возвращается, нет никакой открытой группы отмены или восстановления.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Отключает запись операций отмены, ли
registerUndoWithTarget:selector:object:
или основанной на вызове отменой.Объявление
Swift
func disableUndoRegistration()
Objective C
- (void)disableUndoRegistration
Обсуждение
Этот метод может быть вызван многократно многократными клиентами.
enableUndoRegistration
метод должен быть вызван равное количество времен, чтобы повторно включить регистрацию отмены.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Включает запись операций отмены.
Объявление
Swift
func enableUndoRegistration()
Objective C
- (void)enableUndoRegistration
Обсуждение
Поскольку регистрация отмены включена по умолчанию, она часто используется для балансирования предшествующего
disableUndoRegistration
сообщение. Регистрация отмены фактически не повторно включена, пока разрешать сообщение не балансируется, последние отключают сообщение в действительности. ПовышенияNSInternalInconsistencyException
если вызвано, в то время как нетdisableUndoRegistration
сообщение имеет силу.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Булево значение, указывающее, включена ли запись операций отмены. (только для чтения)
Объявление
Swift
var undoRegistrationEnabled: Bool { get }
Objective C
@property(readonly, getter=isUndoRegistrationEnabled) BOOL undoRegistrationEnabled
Обсуждение
YES
true
если включена регистрация; иначе,NO
false
.Значение по умолчанию
YES
true
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает булево значение, указывающее, является ли получатель в процессе выполнения
undo
илиundoNestedGroup
метод. (только для чтения)Объявление
Swift
var undoing: Bool { get }
Objective C
@property(readonly, getter=isUndoing) BOOL undoing
Обсуждение
YES
true
если метод выполняется, иначеNO
false
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
восстановление восстановление
СвойствоВозвращает булево значение, указывающее, является ли получатель в процессе выполнения
redo
метод. (только для чтения)Объявление
Swift
var redoing: Bool { get }
Objective C
@property(readonly, getter=isRedoing) BOOL redoing
Обсуждение
YES
true
если метод выполняется, иначеNO
false
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
Очищает стеки отмены и стеки повторного выполнения и повторно включает получатель.
Объявление
Swift
func removeAllActions()
Objective C
- (void)removeAllActions
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Очищает стеки отмены и стеки повторного выполнения всех операций, включающих указанную цель как получатель сообщения отмены.
Объявление
Swift
func removeAllActionsWithTarget(_
target
: AnyObject)Objective C
- (void)removeAllActionsWithTarget:(id)
target
Параметры
target
Получатель отмены обменивается сообщениями, чтобы быть удаленным.
Обсуждение
Не повторно включает получатель, если он отключен.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
undoActionName undoActionName
СвойствоИмя, идентифицирующее действие отмены. (только для чтения)
Объявление
Swift
var undoActionName: String { get }
Objective C
@property(readonly, copy) NSString *undoActionName
Обсуждение
Имя действия отмены. Возвращает пустую строку (
@""
) если никакое имя действия не было присвоено или если нет ничего для отмены.Например, если заголовок меню является “Отменой, Удаляют”, строка возвратилась, «Удаляют».
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
redoActionName redoActionName
СвойствоИмя, идентифицирующее действие восстановления. (только для чтения)
Объявление
Swift
var redoActionName: String { get }
Objective C
@property(readonly, copy) NSString *redoActionName
Обсуждение
Имя действия восстановления. Возвращает пустую строку (
@""
) если никакое имя действия не было присвоено или если нет ничего для восстановления.Например, если заголовок меню является “Восстановлением, Удаляют”, строка возвратилась, «Удаляют».
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Определяет имя действия, связанного с командой Undo или Redo.
Объявление
Swift
func setActionName(_
actionName
: String)Objective C
- (void)setActionName:(NSString *)
actionName
Параметры
actionName
Имя действия.
Обсуждение
Если
actionName
пустая строка, имя действия, в настоящее время связываемое с командой меню, удалено. Нет никакого эффекта еслиactionName
nil
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
undoMenuItemTitle undoMenuItemTitle
СвойствоПолный заголовок команды меню Undo, например, “Вставка Отмены”. (только для чтения)
Объявление
Swift
var undoMenuItemTitle: String { get }
Objective C
@property(readonly, copy) NSString *undoMenuItemTitle
Обсуждение
«Отмена» возвратов, если никакое имя действия не было присвоено или
nil
если нет ничего для отмены.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
redoMenuItemTitle redoMenuItemTitle
СвойствоПолный заголовок команды меню Redo, например, “Вставка Восстановления”. (только для чтения)
Объявление
Swift
var redoMenuItemTitle: String { get }
Objective C
@property(readonly, copy) NSString *redoMenuItemTitle
Обсуждение
«Восстановление» возвратов, если никакое имя действия не было присвоено или
nil
если нет ничего для восстановления.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает полный, локализованный заголовок команды меню Undo для действия, идентифицированного именем.
Объявление
Параметры
actionName
Имя действия отмены.
Возвращаемое значение
Локализованный заголовок пункта меню отмены.
Обсуждение
Переопределите этот метод, если Вы хотите настроить поведение локализации. Этот метод вызывается
undoMenuItemTitle
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает полный, локализованный заголовок команды меню Redo для действия, идентифицированного именем.
Объявление
Параметры
actionName
Имя действия отмены.
Возвращаемое значение
Локализованный заголовок пункта меню восстановления.
Обсуждение
Переопределите этот метод, если Вы хотите настроить поведение локализации. Этот метод вызывается
redoMenuItemTitle
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
runLoopModes runLoopModes
СвойствоРежимы, управляющие типами ввода, обрабатываются во время цикла цикла выполнения.
Обсуждение
Массив строковых констант, указывающих текущие режимы цикла выполнения.
По умолчанию единственный режим цикла выполнения
NSDefaultRunLoopMode
(который исключает данные изNSConnection
объекты). Некоторые примеры другого использования должны ограничить ввод данными, полученными во время отслеживающего мышь сеанса путем установки режима вNSEventTrackingRunLoopMode
, или ограничьте его данными, полученными от модальной панели сNSModalPanelRunLoopMode
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
performSelector:target:argument:order:modes:
(NSRunLoop
)
-
Наборы, отбрасываемо ли следующее действие отмены или восстановления.
Объявление
Swift
func setActionIsDiscardable(_
discardable
: Bool)Objective C
- (void)setActionIsDiscardable:(BOOL)
discardable
Параметры
discardable
Указывает, отбрасываемо ли действие.
YES
true
если могут быть отброшены следующая отмена или действие восстановления;NO
false
иначе.Обсуждение
Указывает, что последнее действие отмены может быть безопасно отброшено, когда документ не может быть сохранен ни по какой причине.
Примером могло бы быть действие отмены, изменяющее просматриваемую область документа.
Чтобы узнать, содержит ли группа отмены только отбрасываемые действия, ищите
NSUndoManagerGroupIsDiscardableKey
вuserInfo
словарьNSUndoManagerWillCloseUndoGroupNotification
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
Булево значение, указывающее, отбрасываемо ли следующее действие отмены. (только для чтения)
Объявление
Swift
var undoActionIsDiscardable: Bool { get }
Objective C
@property(readonly) BOOL undoActionIsDiscardable
Обсуждение
YES
true
если действие отбрасываемо;NO
false
иначе.Указывает, что последнее действие отмены может быть безопасно отброшено, когда документ не может быть сохранен ни по какой причине. Это обычно действия, не влияющие на постоянное состояние.
Примером могло бы быть действие отмены, изменяющее просматриваемую область документа.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
Булево значение, указывающее, отбрасываемо ли следующее действие восстановления. (только для чтения)
Объявление
Swift
var redoActionIsDiscardable: Bool { get }
Objective C
@property(readonly) BOOL redoActionIsDiscardable
Обсуждение
YES
true
если действие отбрасываемо;NO
false
иначе.Указывает, что последнее действие восстановления может быть безопасно отброшено, когда документ не может быть сохранен ни по какой причине. Это обычно действия, не влияющие на постоянное состояние.
Примером могло бы быть действие восстановления, изменяющее просматриваемую область документа.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
NSUndoManager
обеспечивает эту константу как удобство; можно использовать его для сравнения со значениями, возвращенными некоторымиNSUndoManager
методы.Объявление
Swift
var NSUndoCloseGroupingRunLoopOrdering: Int { get }
Objective C
enum { NSUndoCloseGroupingRunLoopOrdering = 350000 };
Константы
-
NSUndoCloseGroupingRunLoopOrdering
NSUndoCloseGroupingRunLoopOrdering
Используемый с
NSRunLoop
performSelector:target:argument:order:modes:
.Доступный в OS X v10.0 и позже.
-
-
Эта константа используется в userInfo словаре
NSUndoManagerWillCloseUndoGroupNotification
это группа отмены в целом отбрасываемо.Объявление
Objective C
NSString * const NSUndoManagerGroupIsDiscardableKey;
Константы
-
Отправленный каждый раз, когда
NSUndoManager
объект открывает или закрывает группу отмены (кроме тех случаев, когда он открывает группу верхнего уровня), и при регистрации стека повторного выполненияcanRedo
. Объект уведомленияNSUndoManager
объект. Это уведомление не содержит auserInfo
словарь.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Отправленный каждый раз, когда
NSUndoManager
объект открывает группу отмены, происходящую в реализацииbeginUndoGrouping
метод. Объект уведомленияNSUndoManager
объект. Это уведомление не содержит auserInfo
словарь.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Отправленный сразу после
NSUndoManager
объект выполняет работу восстановления (redo
). Объект уведомленияNSUndoManager
объект. Это уведомление не содержит auserInfo
словарь.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Отправленный сразу после
NSUndoManager
объект выполняет работу отмены. Если Вы вызываетеundo
илиundoNestedGroup
, это уведомление отправляется. Объект уведомленияNSUndoManager
объект. Это уведомление не содержит auserInfo
словарь.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Отправленный перед
NSUndoManager
возразите закрывает группу отмены, происходящую в реализацииendUndoGrouping
метод. Объект уведомленияNSUndoManager
объект. До OS X v10.7 это уведомление не содержал auserInfo
словарь. В OS X v10.7 и позже userInfo словарь может содержать ключ NSUndoManagerWillCloseUndoGroupNotification с aNSNumber
булево значение ДА, если группа отмены в целом отбрасываема.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Отправленный после
NSUndoManager
возразите закрывает группу отмены, происходящую в реализацииendUndoGrouping
метод. Объект уведомленияNSUndoManager
объект. Это уведомление не содержит auserInfo
словарь.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.7 и позже.
-
Отправленный как раз перед
NSUndoManager
объект выполняет работу восстановления (redo
). Объект уведомленияNSUndoManager
объект. Это уведомление не содержит auserInfo
словарь.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Отправленный как раз перед
NSUndoManager
объект выполняет работу отмены. Если Вы вызываетеundo
илиundoNestedGroup
, это уведомление отправляется. Объект уведомленияNSUndoManager
объект. Это уведомление не содержит auserInfo
словарь.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.