2

indexPath を指定して、tableViewCell (カスタム) を手動で作成しています。何らかの理由で、セルがセル オブジェクトを受け取る場合と、オブジェクトを含まない場合があります。指定された indexPath にセルが存在することはわかっていますが、何らかの理由でコードがそこからオブジェクトを取得できないことがあります。何か案は?

-(BOOL)checkRequiredValues {

    NSIndexPath *cellIndexPath;
    CheckoutCell *cell;

    cellIndexPath = [NSIndexPath indexPathForRow:1 inSection:0];
    cell = (CheckoutCell *)[self.tableView cellForRowAtIndexPath:cellIndexPath];

}
4

1 に答える 1

3

cellForRowAtIndexPath:onは、セルが表示されていない場合にUITableView戻ります。nil

テーブルのセルを表すオブジェクト、またはnilセルが表示されていないか、indexPath が範囲外の場合。

常にセルを取得したい場合は、データ ソースで同じメソッドを呼び出します。

cell = (CheckoutCell *)[self.tableView.dataSource
    tableView:self.tableView
    cellForRowAtIndexPath:cellIndexPath
];
于 2012-08-29T22:04:53.093 に答える