0

我有一个带有 2 个 dateLabels 的自定义 TableViewCell,当 coreData 没有保存任何内容时,我的 dateLabel 应该选择一个示例日期。但是当一个日期被设置时,我想在我的标签中显示它。我用下面的代码试过了,但我不能正常工作。

你能帮我吗?

这是我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"produktCell";


    ProduktTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[ProduktTableViewCell alloc] initWithFrame:CGRectZero];
    }
    NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];


    cell.produktnameLabel.text = [managedObject valueForKey:@"produktname"]; 
    NSLog(@"%@",cell.vonDatumLabel.text);

    if ([cell.vonDatumLabel.text length] > 1){
        cell.vonDatumLabel.text = [managedObject valueForKey:@"vondatum"];
        cell.bisDatumLabel.text = [managedObject valueForKey:@"bisdatum"]; 

    }else {
        cell.vonDatumLabel.text = dateString;
        cell.bisDatumLabel.text = dateString1;
    }



        cell.datumButton.tag = indexPath.row;
    cell.warenkorbButton.tag = indexPath.row;
    cell.menge.tag = indexPath.row + 437812;
    cell.mengeLabel.text = [managedObject valueForKey:@"mengelabel"];




    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    NSLocale *german = [[NSLocale alloc] initWithLocaleIdentifier:@"de_DE"];
    [formatter setLocale:german];
    [formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [formatter setMinimumFractionDigits:2];
    [formatter setMaximumFractionDigits:2];


    NSNumber *firstNumber = [managedObject valueForKey:@"preis"];

    cell.preisLabel.text = [formatter stringFromNumber:firstNumber];



    return cell;
}
4

2 回答 2

1
Make if condition like this 

if ([[managedObject valueForKey:@"produktname"] length] > 1){
        cell.vonDatumLabel.text = [managedObject valueForKey:@"vondatum"];
        cell.bisDatumLabel.text = [managedObject valueForKey:@"bisdatum"]; 

    }else {
        cell.vonDatumLabel.text = dateString;
        cell.bisDatumLabel.text = dateString1;
    }

Surely this will help ful 
于 2012-05-03T07:23:01.537 回答
0

使用这个我认为这对你有用。

   [cell.vonDatumLabel.text isEqualToString: dateString];
   [cell.bisDatumLabel.text isEqualToString: dateString1];
于 2012-05-03T07:25:37.117 回答