我创建了录制声音并在tableview
. 在该应用程序中,当声音被记录时,filepath
它将存储在一个数组中,我使用该数组来填充我的tableview
. 但我的问题是,当我关闭应用程序时,我的数组将为空,并且我丢失了录制的文件。
所以现在当我第二次打开我的应用程序时如何获取我的录制文件。我将声音文件存储在文档目录中。
我创建了录制声音并在tableview
. 在该应用程序中,当声音被记录时,filepath
它将存储在一个数组中,我使用该数组来填充我的tableview
. 但我的问题是,当我关闭应用程序时,我的数组将为空,并且我丢失了录制的文件。
所以现在当我第二次打开我的应用程序时如何获取我的录制文件。我将声音文件存储在文档目录中。
将数组存储在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
使用波纹管代码中插入数据时...
[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];
我希望这可以帮助你...