斯威夫特3 FUNC(完成问题

我有下面的代码来创建分析一些JSON数据的功能。斯威夫特3 FUNC(完成问题

func getTrackData(completed: @escaping DownLoadComplete) { 

let getDataURL = URL(string: "https://tfmx-3ba7c.firebaseio.com/")!

Alamofire.request(getDataURL).responseJSON { response in

let result = response.result

if let dict = result.value as? Dictionary<String, Any> {

if let tr = dict["tracks"] as? Dictionary<String, Any> {

if let name = tr["name"] as? String {

if let trackId = tr["trackId"] as? Int {

if let postcode = tr["postcode"] as? String {

if let trackType = tr["trackType"] as? String {

if let locId = tr["locId"] as? String {

if let lon = tr["lon"] as? Double {

if let lat = tr["lat"] as? Double {

if let phoneNumber = tr["phoneNumber"] as? String {

if let email = tr["email"] as? String {

for obj in tr {

let names = Tracks(name: name, trackId: trackId, postcode: postcode, trackType: trackType, locId: locId, lon: lon, lat: lat, phoneNumber: phoneNumber, email: email)

self.track.append(names)

}

self.tableView.reloadData()

}

}

}

}

}

}

}

}

}

}

}

completed()

}

}

当我把我的函数

getTrackData() 

我收到以下错误

缺少的参数变量“完成”呼叫

它表明我补充

self.getTrackData(completed: <DownLoadComplete>) 

,但我不知道要放什么东西在说

我有,不需要我把括号任何其他视图 - 控制了类似的功能位,但具有相同的参数设置。

很混乱。

回答:

如果你想要一个可选的完成闭合,其声明为可选:

func getTrackData(completed: DownLoadComplete?) { 

}

,并调用函数内部的盖,可选

completed?() 

然后就可以调用getTrackData没有参数。

回答:

我实际上已经取消了这段代码,并且实现了Firebase并使用了Firebase代码,它更加整洁,更快捷。

谢谢所有回复

以上是 斯威夫特3 FUNC(完成问题 的全部内容, 来源链接: utcz.com/qa/259835.html

回到顶部