我试图在Swift 3闭包中返回一个字符串数组。尝试返回数组时出现错误Generic parameter 'Element' could not be inferred。以下是相关代码:

定义函数闭包:

var userArray: [String] = []
func getUsers(_ userID: String, closure:(([String]) -> Void)?) -> Void{
  userArray.append(user as String)
  closure!(userArray)
  }
}

返回数组:
_ = self.getUsers(userID!, closure: { (userArray) in //Generic parameter error...
        self.users.append(userArray)
    })

我究竟做错了什么?

谢谢!

最佳答案

您有多个编码错误。以下编译(即使它可能符合或不符合您的代码意图)。

  1> var userArray: [String] = []
  2. func getUsers(_ user: String, closure:(([String]) -> Void)?) -> Void {
  3.   userArray.append(user)
  4.   closure?(userArray)
  5. }
userArray: [String] = 0 values

 11> var users : [String] = []
 12. getUsers("me", closure: { (userArray : [String]) in
 13.         users += userArray
 14.     })
users: [String] = 1 value {
  [0] = "me"
}

08-26 07:10