2011-01-26 5 views

答えて

0

NSDateオブジェクトをユーザーのデフォルト値に保存できます。次のようなことをしてください:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:firstDate forKey:@"StartDate"]; 
[defaults setObject:secondDate forKey:@"EndDate"]; 
+0

リストを一意にすることで、同じ2つの日付が2回保存されないようにするにはどうすればよいですか。 – Jules

+0

@Jules:これはコードで行う必要がありますが、簡単なチェックでは、2番目の範囲の開始日を比較して、> =最初の範囲の開始日と<=終了日を比較します最初の範囲。 – mipadi

+0

NSUserDefaultsからすべての値を読み込んで評価し、必要に応じて保存しなければならないということですか? – Jules

0

これはthis question of yoursに基づいています。その質問への私の答えとして提供されたDateRangeクラスは-isEqual:-hashのメソッドを実装しているので、NSSetでDateRangeオブジェクトを使用できます。 NSSetは、-isEqual:に基づいてメンバの一意性を保証します(詳細はNSSetのドキュメントを参照してください)。 NSMutableSetに複数のDateRangeオブジェクトを入れ、NSKeyedArchiverでそのセットをエンコードし、結果のNSDataオブジェクトをNSUserDefaultsに格納するだけです。

関連する問題