0

IB と Storyboards を使用して、UITableView にカスタム セルを作成しました。以下のコードは、そのカスタム セルをロードするコードです。問題は、cA.cBusName と cA.cOrderDate に有効なデータがあるにもかかわらず、セル ラベル (cell.busNameLabel.text、cell.orderDateLagbel.text) が設定されないことです。 質問: なぜこれが機能しないのですか?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  {

    static NSString *CellIdentifier = @"CustomerListingsCell";

    CustomerListingsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[CustomerListingsCell alloc]
                initWithStyle:UITableViewCellStyleDefault 
                reuseIdentifier:CellIdentifier];
    }

    // Configure the cell...
    SingletonListOfCustomers *shareInstance = [SingletonListOfCustomers sharedInstance];
    cArray *cA = [shareInstance.listOfCustomers objectAtIndex: indexPath.row];

    cell.busNameLabel.text = cA.cBusName;
    cell.orderDateLabel.text = cA.cOrderDate;

    NSLog(@"\n\nindexPath.row: %d, busNameLabel: %@, orderDateLabel: %@", indexPath.row, cA.cBusName, cA.cOrderDate);
    NSLog(@"\nindexPath.row: %d, cell.busNameLabel: %@, cell.orderDateLabel: %@", indexPath.row, cell.busNameLabel.text, cell.orderDateLabel.text);

    return cell;

}

CustomerListingsCell は次のように定義されます。

@interface CustomerListingsCell : UITableViewCell  {

}

@property (nonatomic, strong) IBOutlet UILabel *busNameLabel;
@property (nonatomic, strong) IBOutlet UILabel *orderDateLabel;

@end

NSLog ステートメントの出力は次のとおりです。

2012-05-24 14:01:55.363 空白の生地[4876:f803]

indexPath.row: 0、busNameLabel: 隠しステッチ、orderDateLabel: 05/24/2012 2012-05-24 14:01:55.364 ブランク生地[4876:f803] indexPath.row: 0、cell.busNameLabel: (null)、セル.orderDateLabel: (null) 2012-05-24 14:01:55.365 ブランク生地[4876:f803]

indexPath.row: 1, busNameLabel: Prager, Software, orderDateLabel: 05/24/2012 2012-05-24 14:01:55.373 Blank Fabrics[4876:f803] indexPath.row: 1, cell.busNameLabel: (null), cell.orderDateLabel: (null)

4

1 に答える 1

1

IBOutletsは両方のラベルに設定されていますか?cell.busNameLabelがnilでないかどうかを確認してください...

于 2012-05-24T21:03:11.710 に答える