在我的调查应用程序的FirstViewController中,我有包含数据(字符串)的NSMutableArray。我还创建了日期变量。这是代码
NSDateFormatter *dateformater=[[NSDateFormatter alloc] init];
[dateformater setDateFormat:@"EEEE,dd MMMM yyyy HH:mm a"];
NSDate *today=[NSDate date];
NSString *currentDate=[dateformater stringFromDate:today];
现在我希望在NSUserDefaults的帮助下保存数据中的数据,并在调查完成后保存日期变量并将其显示在SecondViewController的tableview中(第一个用户可以查看调查日期,然后点击日期 - 来自数组的数据。)
我知道NSUSerDefaults如何工作,但我不知道如何将数据按日期变量放在SecondViewController中显示。谁能帮助我呢?
答案 0 :(得分:0)
在AppDelegate.h
文件中只声明变量...
NSUserDefaults *userDefaults;
NSMutableArray *arrDate;
...后
AppDelegate.m
方法中的applicationDidFinishLonching:
Fille
userDefaults = [NSUserDefaults standardUserDefaults];
NSData *dataRepresentingtblArrayForSearch = [userDefaults objectForKey:@"arrDate"];
if (dataRepresentingtblArrayForSearch != nil) {
NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingtblArrayForSearch];
if (oldSavedArray != nil)
arrDate = [[NSMutableArray alloc] initWithArray:oldSavedArray];
else
arrDate = [[NSMutableArray alloc] init];
} else {
arrDate = [[NSMutableArray alloc] init];
}
[arrDate retain];
之后,当您要插入,更新或删除此UserDefaults使用Bellow Code中的数据时...
用于从数组中删除记录
[appDelegate.arrDate removeObjectAtIndex:Index];/// give the integer value instead of Index
这是为了在数组中添加记录..
[appDelegate.arrDate addObject:currentDate];///add value or add date here
在最后保存数组中的这个修改只是归档如下...
NSData *data=[NSKeyedArchiver archivedDataWithRootObject:appDelegate.arrDate];
[appDelegate.userDefaults setObject:data forKey:@"arrDate"];
[appDelegate.userDefaults synchronize];
我希望这对你有所帮助..
答案 1 :(得分:0)
使用日期和数据对象创建NSDictionary
:
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:[NSString stringWithFormat:@"%@",currentDate], @"date", @"yourData", @"data", nil];
然后将其放入NSUserDefault
使用:
[NSUserDefaults standardUserDefaults] setObject:yourDictionary forKey:@"item1"];
这会将单个数据存储到NSUserDefault。
您可以使用以下方法检索对象:
NSDictionary * dictionary = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"item1"];
现在,您将使用[dictionary objectForKey:@"date"];
和数据使用[dictionary objectForKey:@"data"];