Swift错误:在调用中缺少参数#1的参数

时间:2016-07-12 19:24:59

标签: ios swift xcode

我知道还有其他几个帖子可以解决这个问题,但是它们似乎都不适合我。我错过了什么吗?

class TableViewController: UITableViewController {
    ...

    @IBAction func collegeResults(sender: AnyObject) {

    TableViewController().checkMajors() //Missing argument for parameter #1 in call
  } 



  func checkMajors(indexPath: NSIndexPath){
  ...
  }

}

1 个答案:

答案 0 :(得分:2)

首先,您的方法调用是错误的。这一行

TableViewController().checkMajors() //Missing argument for parameter #1 in call

应该被调用为

self.checkMajors() //Missing argument for parameter #1 in call

或只是

checkMajors() //Missing argument for parameter #1 in call



现在,Missing argument for parameter #1 in call表示您没有传递方法所需的参数。显然checkMajors接受一个参数,这是一种NSIndexPath。所以要解决这个问题,你应该调用方法

checkMajors(/* target index path */)

例如,

checkMajors(NSIndexPath(forRow:0, inSection: 0))