分離ストレージは、利用可能なオプションの 1 つにすぎません。
iOS の NSUserDefault の直接の機能的類似物はIsolatedStorageSettings
クラスです。キーによって値を保存/ロードするためのいくつかのヘルパー メソッドを抜粋したものを次に示します。
static T getValue<T>( string _propName )
{
return getValue( _propName, default( T ) );
}
static T getValue<T>( string _propName, T _defaultValue )
{
var iss = IsolatedStorageSettings.ApplicationSettings;
T res;
if( iss.TryGetValue( _propName, out res ) )
return res;
return _defaultValue;
}
static void setValue( string _propName, object val )
{
IsolatedStorageSettings.ApplicationSettings[ _propName ] = val;
IsolatedStorageSettings.ApplicationSettings.Save();
}
または、本格的な ORM + RDBMS を使用することもできます。iOS では、基礎となる SQLite で Core Data を使用します。WP7 では、基礎となる SQLCE で Entity Framework と呼ばれます。
3 つのソリューションにはすべて、長所と短所があります。データ サイズ (IsolatedStorageSettings にメガバイトのデータを保持しないなど) とデータ アクセス パターン (クエリが必要な場合、または DB の大部分をそのまま維持しながら小さな項目のみを挿入する場合など) に基づいて慎重に選択してください。SQL エンジンは高速化できます。桁違いに増加します)。