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

Posted

技术标签:

【中文标题】在 TableView 字幕问题中保存当前日期【英文标题】:Saving current date in TableView subtitle issue 【发布时间】:2012-05-09 22:32:41 【问题描述】:

我试图在 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】:

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

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

【讨论】:

谢谢乔尔。我已经编辑了代码,我已将其更改为字符串,但它仍然无法正常工作。 myList 在没有 myDate 的情况下工作。通常我使用的是ios5,所以我不想使用ARC。我该如何解决我的问题?再次感谢乔尔。 在您的 cellForRowAtIndexPath 方法中,记录 dateArray、indexPath.row 的计数,然后遍历整个数组并记录数组中的每个条目。然后您可以在尝试读取数组时查看数组的内容是否正确。您必须确定您的问题是数组本身还是尝试设置字幕。一旦找到问题,就很容易解决。 谢谢乔尔。在numberOfRowsInSection 中添加return [dateArray count]; 后,它就可以工作了。我以为我不能在numberOfRowsInSection 中添加两个计数。再次感谢。

以上是关于在 TableView 字幕问题中保存当前日期的主要内容,如果未能解决你的问题,请参考以下文章

在python3中保存具有当前日期的Excel文件

关于在SQL Server中使用UTC时间保存当前日期的问题

有没有办法使用 Video.js 从视频标签中获取当前字幕的文本?

如何在空手道 UI 自动化框架中截取屏幕截图并将其保存为当前日期和时间 [重复]

使用名称中的当前日期和时间将图像保存到 sd 不起作用

向 Firebase 实时数据库添加新值时如何保存当前日期/时间