我试图在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"
}