繁体   English   中英

NSUserDefaults 在 tableView 中显示日期和数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM