音声を録音し、その音声ファイルをに表示するアプリケーションを作成しましたtableview
。そのアプリケーションでは、サウンドが録音さfilepath
れると、配列に格納されます。この配列を使用して、を入力しますtableview
。しかし、私の問題は、アプリケーションを閉じると配列が空になり、記録されたファイルが失われることです。
では、アプリを2回開いたときに、記録されたファイルを取得するにはどうすればよいですか。サウンドファイルをドキュメントディレクトリに保存しています。
音声を録音し、その音声ファイルをに表示するアプリケーションを作成しましたtableview
。そのアプリケーションでは、サウンドが録音さfilepath
れると、配列に格納されます。この配列を使用して、を入力しますtableview
。しかし、私の問題は、アプリケーションを閉じると配列が空になり、記録されたファイルが失われることです。
では、アプリを2回開いたときに、記録されたファイルを取得するにはどうすればよいですか。サウンドファイルをドキュメントディレクトリに保存しています。
に配列を格納し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];
これがお役に立てば幸いです...