[英]NSUserDefaults display date and data in the tableView
在我的调查应用程序的 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 中。 任何人都可以帮助我吗?
在AppDelegate.h
文件中只需声明变量...
NSUserDefaults *userDefaults;
NSMutableArray *arrDate;
后...
在AppDelegate.m
填写applicationDidFinishLonching:
方法
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 插入、更新或删除数据时,请使用波纹管代码...
用于从数组中删除记录
[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];
我希望这对你有帮助..
使用日期和数据对象创建一个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:@"date"];
和数据使用: [dictionary objectForKey:@"data"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.