2012-11-28 134 views
1

我創建了自己的類來顯示類似電子表格的佈局。我想排隊和出隊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排隊來存儲一些額外的數據時的包裝類)

的問題是,當我出列的單元格並嘗試訪問一個子視圖,我沒有得到任何回報。在我的單元出隊後,下面一行返回一個零對象。

UILabel *label = (UILabel*) [cell viewWithTag:1]; 

這是在XCode 4.5.x上使用ARC。有任何想法嗎?

完整的源在這裏https://github.com/AaronBratcher/ABTableView/
(出隊剛剛返回零上,以免問題)

+0

你有沒有真的'分配'標籤? –

+0

細胞原本是從筆尖拉出的。 –

回答

0

我建議子類的UITableViewCell。我沒有看到擁有UITableViewCell ivar/property的包裝類的優勢或意義。只需子類UITableViewCell並添加您的擴展屬性/功能。

+0

我可以試試。 –

+0

好吧......重構我的代碼以便隨處使用ABTableViewCell,並更新我的筆尖以使用ABTableViewCell代替默認的UITableViewCell。仍然從取出的單元格中獲得一個零標籤對象。 –