在TableView字幕问题中保存当前日期

时间:2012-05-09 22:32:41

标签: xcode uitableview datetime subtitle detailtextlabel

我尝试在TableView的副标题中记录日期和时间我使用了字幕数组,就像我为文本字段所做的那样,但它不适用于字幕。难道我做错了什么?我为字幕添加的代码用*。

指向
-(IBAction)save{

    *NSDate *now = [NSDate date];
    *NSLog(@"now: %@", now); // now: 2012-02-28 09:57:49 +0000
    *NSString *strDate = [[NSString alloc] initWithFormat:@"%@",now];


    NSUserDefaults *add1 = [NSUserDefaults standardUserDefaults];
    NSMutableArray *myList = [[[NSUserDefaults standardUserDefaults] valueForKey:@"myTxtList"] mutableCopy];
    *NSMutableArray *myDate = [[[NSUserDefaults standardUserDefaults] valueForKey:@"myDateList"] mutableCopy];

    [myList addObject:txt1.text];
    *[myDate addObject:strDate];

    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithArray:myList] forKey:@"myTxtList"];
    *[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithArray:myDate] forKey:@"myDateList"];

    [add1 synchronize];
    self.dataArray = myList;
    *self.dateArray = myDate;
    [self.tbl1 reloadData];

}

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.dataArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"myTxtList"];
    *self.dateArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"myDateList"];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [dataArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *string = [dataArray objectAtIndex:indexPath.row];
    *NSString *dateString = [dateArray objectAtIndex:indexPath.row];

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(cell==nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    }

    cell.textLabel.text = string;
    *cell.detailTextLabel.text = dateString;


    return cell;
}

1 个答案:

答案 0 :(得分:2)

您将其存储为NSDate,然后将其作为NSString读回。

此外,我假设您正在使用ARC,因为您没有发布myList和myDate的可变副本。如果你不在ARC上,你应该释放它们,否则它会泄漏。