ページ

2008年4月4日金曜日

PreferencesをBindingで使う(その2)

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

Preferences情報を NSUserDefaultsController で管理する場合、自前のコントローラコードでこれを参照するにはどうするか。単純にアウトレットでつなぎ NSUserDefaultsを取得してみた。

ボタンを押すと MyControllerクラスがPrefereces情報から FileNameを取得して表示する。


ソース: BindingPreferences2.zip



MyController.h

@interface MyController : NSObject {

IBOutlet NSTextField* _label;
IBOutlet NSUserDefaultsController* _user_defaults_controller;
}
-(IBAction)getName:(id)sender;


InterfaceBuilderで上記アウトレットをそれぞれ繋いでおく。


MyController.m
-(IBAction)getName:(id)sender
{
NSUserDefaults* defaults = [_user_defaults_controller defaults];
NSString* str = [defaults stringForKey:@"FileName"];
[_label setStringValue:str];
}


ボタンが押されたらアウトレットの NSUserDefaultsControllerを経由して NSUserDefaultsを取得する。


ベタだが、裏方はこんなところか。