I am trying to create a UI table view that mix Dynamic and Static cell " something like WIFI settings views ".the first section will be static it will hold the text field and labels. the second section will be dynamic it will show the members of the group.
see the screenshot
I have a problem with code it on UItable view methods "“Cannot call value of non-function type ‘UITableView!’” in the following methods
1-tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) → UITableViewCell
2-tableView(_ tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) → CGFloat
3- func tableView(_ tableView: UITableView, indentationLevelForRowAtIndexPath indexPath: NSIndexPath) → Int
4-tableView(_ tableView: UITableView, indentationLevelForRowAtIndexPath indexPath: NSIndexPath) → Int
import UIKit
class CreateGroupTableViewController: UITableViewController {
// ----------
// MARK: - Constants
// ----------
private struct Section
{
static let Static = 0
}
private struct CellId
{
static let Dynamic = "DynamicCell"
}
// ----------
// MARK: - Lifecycle
// ----------
override func viewDidLoad() {
super.viewDidLoad()
}
// ----------
// MARK: - UITableViewDataSource
// ----------
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool
{
return false
}
// ----------
func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool
{
return false
}
// ----------
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
if section == Section.Static {
// count of your data source items
return 3
}
else {
return super.tableView(tableView, numberOfRowsInSection: section)
}
}
func tableView(_ tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell.EditingStyle
{
return .none
}
// ----------
// func tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
// {
// if indexPath.section == Section.Static
// {
// var cell = tableView.dequeueReusableCell(withIdentifier: CellId.Dynamic)
//
// if cell == nil {
// // create dynamic cell from xib or with default style
// cell = UITableViewCell(style: .value1, reuseIdentifier: CellId.Dynamic)
// }
//
// // customize your dynamic cell
// if let cell = cell
// {
// cell.textLabel?.text = "test"
// cell.detailTextLabel?.text = "\(indexPath.row)"
//
// return cell
// }
// }
//
// return super.tableView(tableView, cellForRowAtIndexPath: indexPath)
// }
// ----------
// MARK: - UITableViewDelegate
// ----------
// ----------
// func tableView(_ tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
// {
// if indexPath.section == Section.Static {
// // custom or calculating height for dynamic cell
// return 60.0
// }
// else {
// return super.tableView(tableView, heightForRowAtIndexPath: indexPath)
// }
// }
// ----------
// func tableView(_ tableView: UITableView, indentationLevelForRowAtIndexPath indexPath: NSIndexPath) -> Int
// {
// if indexPath.section == Section.Static {
// // use only this indentation level for dynamic cell
// return super.tableView(tableView, indentationLevelForRowAtIndexPath: NSIndexPath(forRow: 0, inSection: Section.Static))
// }
// else {
// return super.tableView(tableView, indentationLevelForRowAtIndexPath: indexPath)
// }
// }
//
// ----------
}