#tableview #swift3 #xcode8 #viewdidload
#просмотр таблицы #swift3 #xcode8 #viewdidload
Вопрос:
Я пытаюсь создать табличное представление с разделами. Пока все хорошо. Но когда я добавляю переопределение viewDidLoad сразу под структурой, я получаю сообщение об ошибке: Тип ‘ViewController’ не соответствует протоколу ‘UITableViewDataSource’. Если я удалю UITableViewDataSource, все пойдет наперекосяк…
Почему?
(Моя следующая контрольная точка — отредактировать эти разделы, щелкнув по каждой строке)
Это мой код
импорт UIKit
класс ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
// Creating a structure
struct Objects {
var sectionName : String!
var sectionObjects : [String]!
}
/Я бы вставил viewDidLoad здесь/
var objectsArray = [Objects(sectionName: "Section 01", sectionObjects: ["11", "12", "13", "14", "15"]),
Objects(sectionName: "Section 02", sectionObjects: ["21", "22", "23"]),
Objects(sectionName: "Section03", sectionObjects: ["31"]),
Objects(sectionName: "Section04", sectionObjects: ["41", "42", "43","44"])
]
/// Determine the content of the cell: in this case the objectsArray
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "Cell")
cell.textLabel?.text = objectsArray[indexPath.section].sectionObjects[indexPath.row]
return cell
}
/// Determine the number of rows
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return objectsArray[section].sectionObjects.count
}
/// Determine the number of sections
func numberOfSections(in tableView: UITableView) -> Int {
return objectsArray.count
}
/// Determine the Title of the sections
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return objectsArray[section].sectionName
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}