現在、NSUserDefaults に保存される色を追跡するカラー ウェルがあります。NSUserDefaultsController にバインドされています。ただし、それに応じてビューを更新できるように、色の変更もリッスンしたいと考えています。そのため、バインディングに加えて、色で通知を送信する設定コントローラーに、色のウェルへのターゲット/アクションを追加しました。
1) ターゲット/アクションとバインディングの両方を持つことはどのくらい安全ですか? 遅れたり、同期がずれて異なる値を報告したりする可能性はありますか?
2) IBAction メソッドで色を取得する場合、ユーザーのデフォルトまたはカラー ウェルから取得する必要がありますか?
これが私の colorChanged: アクションです:
- (IBAction)colorChanged:(id)sender
{
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:[colorWell color] forKey:@"color"];
[notificationCenter postNotificationName:@"ColorChangedNotification" object:self userInfo:userInfo];
}
だから私はこれを行う必要があります:
[NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"color"]];
また:
[colorWell color];
ありがとう!