没有调用我的didSelectRowAtIndexPath函数

时间:2015-11-04 11:48:20

标签: ios swift2

我正在尝试创建一个应用程序,在屏幕顶部的标签上显示一些数据,然后下半部分是一个表格,允许选择表格中的项目以弹出另一个segue编辑一个值。我正在努力让用户选择列表中的项目时调用didSelectRowAtIndexPath。我已经将View控制器的代码放在下面了。

我搜索了很多,到目前为止还没有找到任何解释我所看到的问题的东西。

我认为就代理和数据源而言,我已正确连接所有内容,而且我没有使用任何手势捕获,因此不是那些。有没有人有任何想法?

我还附加了视图控制器连接和属性检查器设置的屏幕抓取。

Connections screengrab

Attributes screengrab

import UIKit

class TemperatureViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    @IBOutlet weak var CurrentTemp: UILabel!
    @IBOutlet weak var HeaterStatus: UILabel!
    @IBOutlet weak var ChillerStatus: UILabel!
    @IBOutlet weak var TempTableView: UITableView!

    var settings = [TemperatureSettings] ()

    var HeaterTemp:Float = 0.0
    var ChillerTemp:Float = 0.0
    var ThresholdTemp:Float = 0.0

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        self.loadTempSettings()
        TempTableView.delegate = self
        TempTableView.dataSource = self
        TempTableView.allowsSelection   = true
        TempTableView.editing = false
    }

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)

        self.loadTempSettings()  

    }

    func loadTempSettings() {


        let TempSetting1 = TemperatureSettings(name: "Heater On at", CurrentSetting: HeaterTemp)!

        let TempSetting2 = TemperatureSettings(name: "Chiller On at", CurrentSetting: ChillerTemp)!

        let TempSetting3 = TemperatureSettings(name: "Threshold", CurrentSetting: ThresholdTemp)!

        settings = [TempSetting1, TempSetting2, TempSetting3]

        TempTableView.reloadData()

        //refreshControl?.endRefreshing()

    }

    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

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

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

        // Stop spoof separators after the table entries for blank entries
        tableView.tableFooterView = UIView(frame: CGRect.zeroRect)

        // Turn off the separator for each cell.
        tableView.separatorStyle = UITableViewCellSeparatorStyle.None

        let cellIdentifier = "TemperatureSettingsTableViewCell"

        let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! TemperatureSettingsTableViewCell

        let setting = settings[indexPath.row]

        cell.SettingNameLabel.text = setting.name
        cell.SettingCurrentLabel.text = String(format: "%.1f C", setting.CurrentSetting)
        cell.SettingCurrentLabel.textAlignment = .Left

        // Configure the cell...

        //useTimer = true

        return cell
    }

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        print("Setting Row \(indexPath.row) clicked")
        performSegueWithIdentifier("Settings", sender: self)

    }


    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

1 个答案:

答案 0 :(得分:0)

这对我有用:

Polymer.dom(this).getDistributedNodes()

<content>之前添加覆盖?