2012-01-30 95 views
2

你會不會像我這樣善良地幫助我解決這樣的問題: 我必須用單元格填充tableView,我也有一個用對象填充單元格的數組。 問題是 - 如果對象不符合某些條件,如何跳過創建單元格?我的意思是如何寫的東西,如:如何管理創建UITableViewCells?

- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
if(objectIsOk) { 
    //create cell 
} 
else { 
    //do nothing 
} 
return cell; 

注:我沒有對象的數組訪問它給了我每indexPath.row對象動態

回答

2

我不確定什麼你的意思是「跳過創建單元格」。您的表格視圖數據源是要求要爲每個cellForRowAtIndexPath:調用返回一個單元格,這將針對您所說的表格將包含的每個部分中的每一行調用。

如果你想返回一個空白單元格,那麼爲什麼不只是做這樣的事情:

- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = nil; 

    if (objectIsOk) { 
     // Create normal cell 
    } else { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"BlankCell"]; 
    } 

    return cell; 
} 

你也可以在heightForRowAtIndexPath:委託方法返回的零高度,使它看起來,這不是在那裏,就像所以:

- (CGFloat)tableView:(UITableView *)aTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (objectIsOk) { 
     return 44.0f; 
    } else { 
     return 0.0f; 
    } 
} 
+0

是的,我明白,我必須回到小區,但我需要這個空白單元格將不可見在所有:( – Stas 2012-01-30 12:15:08

+0

那麼有什麼錯我的回答你說的意思是「不會?完全可見「?它需要在那裏......你也可以返回高度o在'heightForRowAtIndexPath:'委託方法中使用0表示它不在那裏。 – mattjgalloway 2012-01-30 12:28:39

+0

>您也可以在heightForRowAtIndexPath:delegate方法中返回零高度,以使其看起來不在那裏。 這是什麼對我的作品謝謝!你能形成答案作爲答案,以便我可以接受它嗎? – Stas 2012-01-30 14:33:04