# UITableViewController
UITableViewController controller object that manages a table view. For some certain scenario it will be recommended to use UITableViewController, for example if you have lot of cells and some have UITextfield.
# TableView with dynamic properties with tableviewCellStyle basic.
override func numberOfSections(in tableView: UITableView) -> Int {
// You need to return minimum one to show the cell inside the tableview
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// return the number of rows inside the tableview.
return 3
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
// identifier string should be same as what you have entered in the cell Attribute inspector -> identifier (see the image).
// Configure the cell...
cell.textLabel?.text = "Cell \(indexPath.row) :" + "Hello"
//cell have different style Custom, basic, right detail, left detail, subtitle.
//For custom you can use your own objects and constrains, for other styles all
//is ready just select according to your design. (see the image for changing the style)
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// this delegate method will trigger when you click a cell
}
# TableView with Custom Cell
For custom tableview cell you need a class that is subclass from UITableViewCell
, an example class you can see below.
class TableViewCell: UITableViewCell {
@IBOutlet weak var lblTitle: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
Your tableview delegates
override func numberOfSections(in tableView: UITableView) -> Int {
// You need to return minimum one to show the cell inside the tableview
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// return the number of rows inside the tableview.
return 3
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableViewCell
// identifier string should be same as what you have entered in the cell Attribute inspector -> identifier.
// Configure the cell...
cell.lblTitle.text = "Cell \(indexPath.row) :" + "Hello"
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// this delegate method will trigger when you click a cell
}