2016-09-12 1 views
0

Я использую UITableViewController. UITableView представляет 11 пользовательских ячеек. 10 из них являются динамическими, один - статическими.UITableView.visibleCells() не возвращает все ячейки

Однако подсчет строк либо с:

let cells = self.tableView.visibleCells as? [chatUebersicht] 

или

for (var row = 0; row < gruppenNamen.count; row++) {  
    if let cell:chatUebersichtCell = table.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: 0)) as? chatUebersichtCell {    
    cells.append(cell) 
    } 
} 

возвращает правильное число. Он возвращает номер 5 каждый раз. Я думаю, что есть проблема с предварительной загрузкой ячеек. есть ли способ преодолеть это?

+0

Все ли 11 ячеек установлены на экране одновременно? Кажется вероятным, что на экране одновременно отображаются только 5 ячеек. – Paulw11

+0

Что вы пытаетесь достичь? Зачем вам нужно использовать ячейки в отдельном массиве? – VojtaStavik

+0

Одновременно видно только 5 ячеек. Я понимаю, что visibleCells действительно их считают. Но что для другого массива? @ Paulw11 – JVS

ответ

1

visibleCells возвращает только многоразовые ячейки, которые вы в настоящее время видите. Это красота UITableView. Нет экземпляра ячейки для каждой строки данных.

Вы должны переоценить то, что вы пытаетесь сделать, и определить, является ли это презентационной операцией или чем-то, что можно сделать, работая с вашим массивом данных, который питает источник данных tableview.

Смежные вопросы