在Swift中选择UITableViewController中的第一行

在Swift中选择UITableViewController中的第一行,swift,uitableview,Swift,Uitableview,我正在尝试选择UITableViewController中出现的第一行(通过一个序列) 我使用的代码是我从以前的Objective C项目继承的: override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let customCell = tableView.dequeueReusableCell

我正在尝试选择UITableViewController中出现的第一行(通过一个序列)

我使用的代码是我从以前的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'
如果有人能帮忙,我将不胜感激

谢谢大家!

编辑:

这是我的DidDeceloseRowatineXpath方法:

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:nsindepath)
方法

调用
didSelectRowAtIndexPath
时,您无需使用
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)
        }
==编辑====


将您的
didselectrowatinexpath
更改为
didselectrowatinexpath
您忘记了实现
func tableView(tableView:UITableView,didselectrowatinexpath indexath:NSIndexPath)
方法

调用
didSelectRowAtIndexPath
时,您无需使用
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
更改为
didSelectRowAtIndexPath

是否使用情节提要?所有连接是否正确?错误指向didSelectRowAtIndexPath。你能展示代码吗?你在用故事板吗?所有连接是否正确?错误指向didSelectRowAtIndexPath。你能出示密码吗?谢谢。对不起,我没有在原始邮件中包含它。更正。另外,按您的方式执行会导致以下错误:“无法调用非函数类型“UITableView”的值。谢谢。改变。没有编译错误,但仍然是运行时错误。有趣的是,如果我选择第二行,然后选择第一行并选择它,就不会发生错误!我以为我疯了。由于多了两个字母,三天来一直试图找出错误!谢谢你的帮助!谢谢对不起,我没有在原始邮件中包含它。更正。另外,按您的方式执行会导致以下错误:“无法调用非函数类型“UITableView”的值。谢谢。改变。没有编译错误,但仍然是运行时错误。有趣的是,如果我选择第二行,然后选择第一行并选择它,就不会发生错误!我以为我疯了。由于多了两个字母,三天来一直试图找出错误!谢谢你的帮助!