在 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 字幕问题中保存当前日期的主要内容,如果未能解决你的问题,请参考以下文章
关于在SQL Server中使用UTC时间保存当前日期的问题
有没有办法使用 Video.js 从视频标签中获取当前字幕的文本?