2015-08-18 3 views
1

У меня есть UITableView, который имеет несколько разделов, и я хочу, чтобы в каждом разделе было разное количество строк. Что я имею в коде прямо сейчасНастройка UITableView с различным количеством строк в разных разделах

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    //habitsByDay is a global array contain the number of rows for each section, 
    //with each index of the array corresponding to the each of the sections 
    return habitsByDay.removeAtIndex(0) 
} 

Будет ли этот метод вызывается, когда каждая секция загружается (т.е. он должен называться habitsByDay.count -many раз).

+0

Этот подход является неправильным. Покажите основной массив источников данных. – Shoaib

ответ

2

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

Если habitsByDay массив с числом строк для каждой секции то вобще

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return habitsByDay[section] 
} 
0

Вы должны использовать, если заявления для этого. Например:

if (section == 0) { //First section 
return 20; }  //20 rows in first section 

if (section == 1) { //Second section 
return 10; }  //10 rows in second section 

Или в вашем случае, например.

if (section == 0) { 
return habitsByDay.count } 
Смежные вопросы