调用swift中的额外参数

时间:2016-11-12 16:35:51

标签: ios arrays swift dictionary

我正在尝试将两个值附加到变量countryAndCode。 我收到错误:Extra argument 'code' in call这对我没有任何意义,因为countryAndCode有两个值:国家和代码??

我做错了什么?

这是我的代码:

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 个答案:

答案 0 :(得分:1)

您只需要在括号中封装您传入的参数。

改变这个: countryAndCode.append(self.tableData[i], code: self.tableDataNames[i])

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

您需要这样做的原因是因为您使用[(country:String, code: String)]声明您的数组,括号中包含数组内的参数,因此您需要在向数据附加数据时执行相同操作。