2012-05-03 24 views
0

我有一個自定義TableViewCell與2 dateLabels,當沒有與coreData保存,我的dateLabel應該選擇一個樣本日期。但是,當設定日期時,我想在我的標籤中顯示它。 我用下面的代碼嘗試了它,但我無法正常工作。如何比較自定義UITableViewCel中的標籤是否爲空?

你能幫助我嗎?

這裏是我的代碼:

- (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; 
} 
+0

快速問題:您是否成功從Core Data中檢索數據? – Peres

+0

嘗試使用標籤的isEqualtoString屬性。 – vishiphone

回答

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 
+0

很快。它的工作原理,非常感謝你! –

+0

如果你滿足這個答案票這個答案! – Prakash

0

使用此,我認爲這會爲你工作。

[cell.vonDatumLabel.text isEqualToString: dateString]; 
    [cell.bisDatumLabel.text isEqualToString: dateString1];