2016-11-15 5 views
0

У меня есть табличное представление, и у меня есть один раздел и две ячейки. Первая ячейка предназначена для отображения названия подразделения, а вторая ячейка предназначена для отображения имени соответствующего района.TableView - Обработка нескольких ячеек

var Division = [“Dhaka”,”Khulna”] 
var Districts = [[“Gazipur”,”Gopalganj”,”Faridpur”],[“Bagerhat”,”Jessor”,”Chuadanga”]] 

Мне нужно представить в виде таблицы следующим образом.

Dhaka 
Gazipur 
Gopalganj 
Faridpur 

Khulna 
Bagerhat 
Jessor 
Chuadanga 

Сначала я приближался, как традиционным способом, но я не мог двигаться вперед, когда это было необходимо определить на cellForRowAtIndexPath и numberOfRowsInSection протокольных :(

Пожалуйста, предложите какой-либо способ. Заранее спасибо :)

+0

Вместо 1 раздела и 2 клетки используют 2 секции с 'N' клеток. 'n' - количество ячеек в каждом разделе. – Adeel

ответ

0

Если я правильно понял ваш вопрос прямо

Здесь деление будет ваш заголовок раздела

override func numberOfSectionsInTableView(tableView: UITableView) -> Int 
{ 
    return Division.count 
} 

и район будет ваши ряды

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    { 
return Districts.count 
} 

для отображения не забудьте добавить метод для возвращения представления для заголовка и cellForRowAtIndexPath.

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
} 

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?{ 
} 
+0

Спасибо .. но мне нужен только один раздел ... трудно двигаться вперед :( – KhanShaheb

+0

Главный заголовок может быть вашим заголовком в виде таблицы, а раздел будет вашим заголовком раздела. Если вы покажете мне какое-либо изображение или любую фигуру (что вы хотите сделать), то я могу помочь вам в лучшем виде. –

0

Для числа секций вы можете использовать:

func numberOfSections(in tableView: UITableView) -> Int 
{ 
    return Districts.count 
} 

Затем, чтобы указать количество строк в каждой секции вы можете использовать:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
{ 
    return Districts[section].count 
} 

и, наконец, вы можете настроить Ваша ячейка следующая:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
{ 
    let cell = self.TableView.dequeueReusableCell(withIdentifier: "Cell") as! TableViewCell 
    let cellText = Districts[indexPath.section][indexPath.row] 
    cell.Label.text = cellText 
    return cell 
} 

Для TableView заголовка вы можете написать это:

func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? 
{ 
    if section < Division.count 
    { 
     print(Division[section]) 
     return Division[section] 
    } 
    else 
    { 
     return nil 
    } 
} 

И ваш класс TableViewCell является:

import UIKit 

class TableViewCell: UITableViewCell 
{ 
@IBOutlet weak var Label: UILabel! 
override func awakeFromNib() 
{ 
    super.awakeFromNib() 
} 

override func setSelected(_ selected: Bool, animated: Bool) 
{ 
    super.setSelected(selected, animated: animated) 

} 

} 
+0

Спасибо за ваши усилия, но я хотел сделать это только в одном разделе с двумя ячейками. Первая ячейка для имени подразделения, а вторая ячейка для соответствующих городов. – KhanShaheb