- registerUndoWithTarget:handler:
- prepareWithInvocationTarget:
Availability 有効性
Technology
- (void)registerUndoWithTarget:(id)target
selector:(SEL)selector
object:(id)anObject;
target
The target of the undo operation. 取り消し操作の目標。
The undo manager maintains an unowned reference to target
to prevent retain cycles.
アンドゥマネージャは、target
に対する非所有参照を保守して、保持循環を防ぎます。
aSelector
The selector for the undo operation. 取り消し操作に対するセレクタ。
anObject
The argument sent with the selector. セレクタで送信する引数。
The undo manager maintains a strong reference to an
bject
.
アンドゥマネージャは、an
bject
に対する強い参照を保守します。
Use register
to register a selector for an undo operation. To register a selector on the undo stack, you also need to make the method available to the Objective-C runtime by applying the @objc
attribute to the method. For more on how to create a selector, see Selectors.
register
を使って、ある取り消し操作に対するセレクタを登録してください。セレクタを取り消しタスクに登録するには、あなたはまたObjective-Cランタイムに利用可能なメソッドを、@objc
属性をそのメソッドに適用することによって作る必要があります。セレクタを作成する方法に関してさらには、セレクタを見てください。
Calling this method also clears the redo stack. このメソッドを呼び出すことはまた、やり直しスタックをすっかりきれいにします。
The following example demonstrates how to register and use a selector on the undo stack by modeling a Garden
class with two methods: plant(flower:)
and pluck(flower:)
. The plant(flower:)
method removes a flower from the garden while pluck(flower:)
adds a flower such that effectively, the two methods are inverse operations of each other. This inverse quality makes it ideal to register plant(flower:)
and pluck(flower:)
to be each other's undo operation.
以下の例は、セレクタを取り消しスタックに登録して使用する方法を、Garden
クラスを2つのメソッド:plant(flower:)
とpluck(flower:)
でこしらえることで実演します。plant(flower:)
メソッドはある花を花壇から取り除きます、一方pluck(flower:)
は印象的な花を加えます、2つのメソッドは互いに逆の操作です。この正反対の性質は、plant(flower:)
とpluck(flower:)
を互いのもつ取り消し操作に登録するのに申し分ないものとします。
Important 重要
This method raises NSInternal
if it’s called when no undo group has been established using begin
. Undo groups are usually set by default, and you rarely need to create a top-level undo group explicitly.
このメソッドはNSInternal
を引き起こします、もしそれが取り消しグルーブがbegin
を使って確立されていない時に呼び出されるならば。取り消しグループは通常は初期状態で設定されます、そしてあなたは滅多にトップレベルの取り消しグループを明示的に作成する必要はありません。
- registerUndoWithTarget:handler:
- prepareWithInvocationTarget:
- undoNestedGroup
groupingLevel