2

アプリケーションを終了するときに、iPhone アプリケーションでプログラム変数の値を保持する必要があります。SDK は、プログラマーが使用する非揮発性メモリを提供しますか? どのくらい利用できますか?電源を入れ直しても保持されますか? スリープモード経由?ハードリセットを介して?

4

5 に答える 5

4

後で使用するためにアプリからのデータを保存するために利用できる多くのオプションがあります。指摘されているように、そのうちの2つはNSUserDefaultsとSQLiteを使用しています。もう1つの方法は、アプリの「ドキュメント」フォルダーにファイルを作成し、ここにデータを保存することです。次回アプリを起動したときにファイルの内容を読みます。これは、Appleのファイルとネットワークガイドで説明されています

データベースを使用している場合でも、アプリのサンドボックスのDocumentsフォルダーにデータベースのコピーを作成して、アプリの更新をリリースしても保持されるようにしてください。

于 2009-01-08T11:34:56.993 に答える
4

NSUserDefaultsクラスを使用してユーザー設定を保存します。とても簡単です。それらは、デバイスの再起動、電源の再投入などを経ても保持されます。

開始するための短いチュートリアルを次に示します。

于 2009-01-08T03:29:02.980 に答える
3

アプリのローカル ストレージ領域に書き込むか、sqlite データベースを使用できます。両方のオプションは、http://developer.apple.com/iphone/library/codinghowtos/DataManagement/index.html#FILE_MANAGEMENT-WRITE_INFORMATION_LOCALLYに記載されています。

于 2009-01-08T03:11:10.193 に答える
2
-(void)saveToUserDefaults:(NSString*)myString
{
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];

    if (standardUserDefaults) {
        [standardUserDefaults setObject:myString forKey:@"Prefs"];
        [standardUserDefaults synchronize];
    }
}

-(NSString*)retrieveFromUserDefaults
{
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
    NSString *val = nil;

    if (standardUserDefaults) 
        val = [standardUserDefaults objectForKey:@"Prefs"];

    return val;
}
于 2009-07-31T20:13:11.557 に答える
0

最良のオプションは、それらをアプリケーションの SQLite DB インスタンスに保存することです。それは、不揮発性メモリに近づくのと同じくらいです。

于 2009-01-08T03:12:08.070 に答える