Swift UITableView didSelectRowAtIndexPath not getting called

前端 未结 10 2013
野的像风
野的像风 2021-02-06 23:18

New to IOS development and am having trouble with handling cell selection on a table. Whenever I select, the method is not getting called below - any idea why?

My proje

10条回答
  •  余生分开走
    2021-02-06 23:58

    You have to use this: First take a look what are you extending and then use the tableView method.

        class YourViewController : UIViewController, UITableViewDelegate, UITableViewDataSource {
    
        @IBOutlet weak var mUITableView: UITableView!
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // We need to tell to UITableView that we will add the data by ourselves
            self.mUITableView.delegate = self
            self.mUITableView.dataSource = self
    
            // Register the UITableViewCell class with the tableView
            self.mUITableView?.registerClass(UITableViewCell.self, forCellReuseIdentifier: self.cellIdentifier)
            // Setup table data
            getEvents()
    
            self.mUITableView.allowsSelection = true   
        }
    
        func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return tableData.count
        }
    
        func numberOfSectionsInTableView(tableView: UITableView) -> Int {
            return 1
        }
    
        func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
           //  here to create you cell view      
        }
    
        func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
            print("You selected cell #\(indexPath.row)!")
        }
    
        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "subtitleCell")
            cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
            cell.textLabel?.text = "\(tableData[indexPath.row].name) - (\(tableData[indexPath.row].eventStateId))"
            cell.detailTextLabel?.text = tableData[indexPath.row].lastUpdate
            return cell
        }
    }
    

提交回复
热议问题