[Mac] NSArrayController に Undo/Redo を実装する [4] 初期値ありの場合

2011年1月2日日曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

[前回] Cocoaの日々: [Mac] NSArrayController に Undo/Redo を実装する [2] カスタムモデル

初期値が存在する場合、前回までのコードでは対応できない。

初期値ありへの対応


これまでのアーキテクチャではカラムの値を KVO 登録擦る必要があり、これをレコード挿入時に行っていた。ところが初期値ありの場合、レコード挿入のメソッドは呼ばれない。代わりに setContent: が呼ばれるのでこれをオーバーライドしてやる。
- (void)setContent:(id)content
{
    [self_addObserverFor:content];
    [supersetContent:content];
}

できた(画像ではわからないが)。


ソースコード


GitHubからどうぞ。

ArrayControllerUndoSample at 2011-01-02 from xcatsan/MacOSX-Sample-Code - GitHub

Responses

Leave a Response

人気の投稿(過去 30日間)