NSUserDefaults在tableView中显示日期和数据

时间:2012-11-07 10:59:50

标签: iphone nsstring nsdate tableview nsuserdefaults

在我的调查应用程序的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中显示。谁能帮助我呢?

2 个答案:

答案 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"];

获取日期