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)targetselector:(SEL)aSelectorobject:(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Обсуждение
YEStrueесли получатель имеет какие-либо действия для отмены, иначеNOfalse.Возвращаемое значение не означает, что можно безопасно вызвать
undoилиundoNestedGroup— Вам, вероятно, придется закрыть открытые группы отмены сначала.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Булево значение, указывающее, имеет ли получатель какие-либо действия для восстановления. (только для чтения)
Объявление
Swift
var canRedo: Bool { get }Objective C
@property(readonly) BOOL canRedoОбсуждение
YEStrueесли получатель имеет какие-либо действия для восстановления, иначеNOfalse.Поскольку любая зарегистрированная работа отмены очищает стек повторного выполнения, этот метод отправляет
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: BoolObjective C
@property BOOL groupsByEventОбсуждение
YEStrueесли получатель автоматически создает группы отмены вокруг каждой передачи цикла выполнения, иначеNOfalse.Значение по умолчанию
YEStrue. Если Вы выключаете автоматическую группировку, необходимо закрыть группы явно прежде, чем вызвать также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Обсуждение
YEStrueесли включена регистрация; иначе,NOfalse.Значение по умолчанию
YEStrue.Оператор импорта
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Обсуждение
YEStrueесли метод выполняется, иначеNOfalse.Оператор импорта
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Обсуждение
YEStrueесли метод выполняется, иначеNOfalse.Оператор импорта
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пустая строка, имя действия, в настоящее время связываемое с командой меню, удалено. Нет никакого эффекта еслиactionNamenil.Оператор импорта
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Указывает, отбрасываемо ли действие.
YEStrueесли могут быть отброшены следующая отмена или действие восстановления;NOfalseиначе.Обсуждение
Указывает, что последнее действие отмены может быть безопасно отброшено, когда документ не может быть сохранен ни по какой причине.
Примером могло бы быть действие отмены, изменяющее просматриваемую область документа.
Чтобы узнать, содержит ли группа отмены только отбрасываемые действия, ищите
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Обсуждение
YEStrueесли действие отбрасываемо;NOfalseиначе.Указывает, что последнее действие отмены может быть безопасно отброшено, когда документ не может быть сохранен ни по какой причине. Это обычно действия, не влияющие на постоянное состояние.
Примером могло бы быть действие отмены, изменяющее просматриваемую область документа.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
Булево значение, указывающее, отбрасываемо ли следующее действие восстановления. (только для чтения)
Объявление
Swift
var redoActionIsDiscardable: Bool { get }Objective C
@property(readonly) BOOL redoActionIsDiscardableОбсуждение
YEStrueесли действие отбрасываемо;NOfalseиначе.Указывает, что последнее действие восстановления может быть безопасно отброшено, когда документ не может быть сохранен ни по какой причине. Это обычно действия, не влияющие на постоянное состояние.
Примером могло бы быть действие восстановления, изменяющее просматриваемую область документа.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.7 и позже.
-
NSUndoManagerобеспечивает эту константу как удобство; можно использовать его для сравнения со значениями, возвращенными некоторымиNSUndoManagerметоды.Объявление
Swift
var NSUndoCloseGroupingRunLoopOrdering: Int { get }Objective C
enum { NSUndoCloseGroupingRunLoopOrdering = 350000 };Константы
-
NSUndoCloseGroupingRunLoopOrderingNSUndoCloseGroupingRunLoopOrderingИспользуемый с
NSRunLoopperformSelector: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 и позже.
