2
私は、振りを取り消すことをサポートするCoreDataベースのアプリケーションを持っています。これは現在正常に動作していますが、私がデバイスを振ると、NSUndoManagerが通常無料で提供する通常の取り消しプロンプトを最初に表示せずに直ちに取り消しが行われます。CoreDataアプリケーションでは振ると取り消しができますが、元に戻す/やり直しのプロンプトは表示されません
私は "元に戻すアーキテクチャ" のドキュメントから "iPhone上の[元に戻す]を使用する" を読んで思いました:canBecomeFirstResponder
を実装
- 、作る
viewDidAppear
- にビューコントローラ
becomeFirstResponder
を作るYES
- を返しますビューコントローラ
resignFirstResponder
inviewDidDisappear
- ビューコントローラの
self.undoManager
を読み書き可能なように再指定 NSUndoManager
を作成し、UIViewController
init
の方法でself.undoManager
と設定しています(確認済みです)。managedObjectModel
の設定者のself.managedObjectModel.managedObjectContext.undoManager
〜self.undoManager
に設定します。再び、私はこれが呼び出されていることを確認しました。私がこれをしなければ、元に戻すことは全くできません。
トラブルシューティング私はすでに試した:
- チェックは取り消すアクセサ
self.undoManager
があるかどうかをチェック - と呼ばれている
- が
canBecomeFirstResponder
を検証する(私は戻っ私のmanagedObjectModelへの変更を参照)、実際の作業ではありません取り消し操作中に呼び出されます(そうではありません)。
は、だから私の質問は以下のとおりです。
- どのような状況の下で作業を元に戻すが、アンドゥプロンプトが表示されませんか?
- これを解決するために次に何をお試しくださいか?