-1

在我的调查应用程序的 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 的表格视图中(第一个用户可以查看调查日期,然后点击日期 - 来自数组的数据)。

我知道 NSUSerDefaults 是如何工作的,但我不知道如何按日期变量放置数组以显示在 SecondViewController 中。任何人都可以帮助我吗?

4

2 回答 2

0

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];
于 2012-11-07T11:09:46.180 回答
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"];

于 2012-11-07T11:10:18.817 回答