2011年10月30日日曜日

アンドゥの実装について(修正)


 紋様のパラメータをランダマイズする機能を追加。これに伴い、モデルオブジェクトにアンドゥマネージャをセット、クリアする処理を追加。
 アンドゥの実装を修正。ビューが画面表示されていない時に通知を受けても意味がないので、viewDidAppear:とviewWillDisappear:で通知の登録と解除を行う事にした。
 "Using Undo on iPhone"では編集モードから抜けたら確定して、アンドゥ可能にしなくてよいと書いてあるが、そこまではやっていない。

・別画面に遷移する時(ナビゲーションコントローラに別のビューコントローラをプッシュする時)にアンドゥスタックをクリアする
・ビューコントローラが独自のアンドゥマネージャを持つ
 ・viewDidLoadでアンドゥマネージャを生成し、アンドゥスタックを監視する通知のオブザーバになる
 ・releaseOutletsでアンドゥマネージャを解放し、アンドゥスタックを監視する通知のオブザーバ登録を解除する(releaseOutletsはdeallocとviewDidUnloadで呼ばれるメソッド)
 ・viewDidAppear:でアンドゥスタックを監視する通知のオブザーバになり、モデルオブジェクトとモデルマネージャにアンドゥマネージャをセットする。
 ・viewWillDisappear:でアンドゥスタックを監視する通知のオブザーバ登録を解除し、モデルオブジェクトとモデルマネージャにセットしたアンドゥマネージャをクリアする。アンドゥスタックをクリアする。

0 件のコメント:

コメントを投稿