Cocoa: IBActionのメソッドから呼び出すのはダメ?
ヒレガス本の13.10節のチャレンジ。
resetボタンを用意して、IBOutletを追加して、IBActionと関連付け。
まぁ、普通の流れです。
- (IBAction)resetUserDefault:(id)sender
としてNSUserDefaultsをいじるのは想像つきます。
で、ここで気になったのが、無駄を省くのにどう記述すれば良いのか?という事。
このチャレンジでは、2つの項目でしかないので、気にする必要はないかもしれません。
でも、設定項目が複雑に絡む場合は、どうすれば良いのでしょう。
既に、changeBackgroundColor:とchangeNewEmptyDoc:が実装されてる状態です。
なので、resetUserDefault:からこのメソッドを直接呼び出したい。
これはコーディングルールに違反するのかな。
普通に考えて、共通処理は別関数ってのはセオリーでしょう。
でも、GUIパーツの状態値を参照する都合で煩雑になる場合もあるわけで。
Objective-Cは、値を変更→メッセージ通知にすべきかな。