2016-07-12 5 views
-3

この問題に対処するいくつかの他の投稿がありますが、それらのどれも私にとってはうまくいかないようです。何か不足していますか?Swift Error:コールでパラメータ#1の引数が欠落しています

class TableViewController: UITableViewController { 
    ... 

    @IBAction func collegeResults(sender: AnyObject) { 

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



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

} 
+0

エラーメッセージは、それが言う正確に何を意味しています。 'checkMajors'関数のシグネチャとその呼び出し方法を比較してください。それ以外は' TableViewController'をデフォルトの初期化子 '()'で初期化することはできません。 – vadian

答えて

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は1つの引数を取ります。これは、タイプがNSIndexPathです。ですから、

例えば
checkMajors(/* target index path */) 

としてメソッドを呼び出す必要があることを修正するために、

checkMajors(NSIndexPath(forRow:0, inSection: 0)) 
関連する問題