スプレッドシートのようなレイアウトを表示するための独自のクラスを作成しました。UITableViewCellsをエンキューおよびデキューしたいと思います。私はこれを行うためにこのコードを使用します:
- (void) enqueueReusableCell: (ABTableViewCell *) cell {
if (!enqueuedCells[cell.reuseIdentifier])
enqueuedCells[cell.reuseIdentifier] = cell;
}
- (UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier {
ABTableViewCell *cell;
if (enqueuedCells[identifier]) {
cell = enqueuedCells[identifier];
return cell.tableViewCell;
}
return nil;
}
(追加のデータを格納するためにキューに入れるときにUITableViewCellを保持するために使用しているラッパークラスがあります)
問題は、セルをデキューしてサブビューにアクセスしようとしても、何も戻らないことです。次の行は、セルがデキューされた後、nilオブジェクトを返します。
UILabel *label = (UILabel*) [cell viewWithTag:1];
これは、XCode4.5.xでARCを使用しています。何か案は?
完全なソースはここにありますhttps://github.com/AaronBratcher/ABTableView/
(問題を回避するために、デキューは今のところnilを返します)