1

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;
}
4

1 に答える 1

2

NSDateとして保存し、NSStringとして読み戻します。

また、myListとmyDateの可変コピーをリリースしていないため、ARCを使用していると思います。ARCを使用していない場合は、これらをリリースする必要があります。そうしないと、リークが発生します。

于 2012-05-10T00:01:10.357 に答える