UITableViewController中选择第一行

UITableViewController中选择第一行

我试图在UITableViewController中选择第一行,一旦它出现(通过一个segue)。
我正在使用从以前的Objective C项目继承的以下代码:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        let customCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! IGANavlistTableCustomViewCell

        // Code that sets the custom view cell

        // Then...
        // Selecting the first row by default
        if(indexPath.row == 0)
        {
            let rowToSelect:NSIndexPath = NSIndexPath(forRow: 0, inSection: 0)

            tableView.selectRowAtIndexPath(rowToSelect, animated: true, scrollPosition: UITableViewScrollPosition.None)

            tableView.delegate?.tableView!(tableView, didSelectRowAtIndexPath: rowToSelect)
        }

        return customCell;
    }

我收到以下错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[IGANavlistTableVC tableView:didSelectRowAtIndexPath:]: unrecognized selector sent to instance 0x79e21040'

如果有人能帮忙,我将不胜感激。
谢谢您!
编辑:
这是我的didDeselectRowAtIndexPath方法:
var navaidSelected = [String]()
var listOfNavPoints = [[String]]()

override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath)
    {
        // The selected object of the Array with all navaids data (i.e., the selected navaid) is converted to a string
        self.navaidSelected = self.listOfNavPoints[indexPath.row]
    }

最佳答案

您忘记了实现func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)方法。
在调用时不需要使用delegate

if(indexPath.row == 0)
        {
            let rowToSelect:NSIndexPath = NSIndexPath(forRow: 0, inSection: 0)

            tableView.selectRowAtIndexPath(rowToSelect, animated: true, scrollPosition: UITableViewScrollPosition.None)

           self.tableView(tableView, didSelectRowAtIndexPath: rowToSelect)
        }

==已编辑===
didSelectRowAtIndexPath更改为didDeselectRowAtIndexPath

关于swift - 在Swift中的UITableViewController中选择第一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33225363/

10-10 08:17