1

音声を録音し、その音声ファイルをに表示するアプリケーションを作成しましたtableview。そのアプリケーションでは、サウンドが録音さfilepathれると、配列に格納されます。この配列を使用して、を入力しますtableview。しかし、私の問題は、アプリケーションを閉じると配列が空になり、記録されたファイルが失われることです。

では、アプリを2回開いたときに、記録されたファイルを取得するにはどうすればよいですか。サウンドファイルをドキュメントディレクトリに保存しています。

4

1 に答える 1

1

に配列を格納しNSUserDefaultsます。配列を取得して保存しNSUserDefaults ます..の例を参照してくださいNSUserDefaults

ファイルでAppDelegate.h変数を宣言するだけです...

    NSUserDefaults  *userDefaults;
    NSMutableArray *yourArray;
    after...

AppDelegate.mインフィルインapplicationDidFinishLonching:方式

    userDefaults = [NSUserDefaults standardUserDefaults];
    NSData *dataRepresentingtblArrayForSearch = [userDefaults objectForKey:@"yourArray"];
    if (dataRepresentingtblArrayForSearch != nil) {
        NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingtblArrayForSearch];
        if (oldSavedArray != nil)
            yourArray = [[NSMutableArray alloc] initWithArray:oldSavedArray];
        else
            yourArray = [[NSMutableArray alloc] init];
    } else {
        yourArray = [[NSMutableArray alloc] init];
    }
    [yourArray retain];

UserDefaultsその後、このUse Bellow Codeにデータを挿入したい場合...

    [appDelegate.yourArray addObject:yourDataString];///set your value or anything which you want to store here...
    NSData *data=[NSKeyedArchiver archivedDataWithRootObject:appDelegate.yourArray];
    [appDelegate.userDefaults setObject:data forKey:@"yourArray"];
    [appDelegate.userDefaults synchronize];

これがお役に立てば幸いです...

于 2013-01-04T11:03:40.283 に答える