2016-11-12 18 views
0

私の変数countryAndCodeに2つの値を追加しようとしています。 countryAndCodeは国とコードの2つの値をとっているので、エラーはExtra argument 'code' in callです。コールスウィフトの余分な引数

どうしたのですか?ここで

は私のコードです:

func startObersvingDB() { 
     FIRDatabase.database().reference().child("UserInformation").observeEventType(.ChildAdded, withBlock: { snapshot in 

      if let title = snapshot.value!["usersUID"] as? String { 
       self.tableData.append(title) 


       if let name = snapshot.value!["userName"] as! String? { 

        self.tableDataNames.append(name) 



        for i in 0...self.tableData.count { 
         var countryAndCode: [(country:String, code: String)] 
         countryAndCode.append(self.tableData[i], code: self.tableDataNames[i]) 
        } 



        self.tableView.reloadData() 

       } else { 
        print("Noget virker ikke i startObservingDB") 
       } 



      } 
     }) 


    } 

それが関連している場合。私はユーザーの名前を表示している検索バーを作成しようとしていますが、その画像も表示しています(これがtableDataにidが必要な理由です)。

答えて

1

渡す引数を大括弧で囲むだけでいいです。

変更この: countryAndCode.append(self.tableData[i], code: self.tableDataNames[i])

へ: countryAndCode.append((self.tableData[i], code: self.tableDataNames[i]))

あなたは、配列内の引数をカプセル化するブラケットで[(country:String, code: String)]を使用して配列を宣言しているので、あなたがする必要があるので、あなたはこれに必要な理由は、ありますそれにデータを追加するときも同じ操作を行います。

+0

なぜこのコードで 'index out of range'ですか?' countryAndCode.append((self.tableData [i]、code:self.tableDataNames [i])) ' –

+0

I countryAndCode配列ではなく 'tableData [i]'インデックスから来ていると思います – RyanM

関連する問題