如果这个问题之前已经被询问过了,我很抱歉,但是我真的找不到任何相似的内容!如果这个问题很傻,我也很抱歉,因为我是一名iOS开发者,在Android方面有点迷茫...
所以我正在使用Fuel库(https://github.com/kittinunf/Fuel)来从API获取JSON数据...在Swift中,有一个叫做completion handler的东西,每当函数完成时,它就会立即返回并运行其中的代码。这是Swift中的一个例子:
func hardProcessingWithString(input: String, completion: (result: String) -> Void) {
...
completion("we finished!")
}
我需要做的是类似于我在 Kotlin 中拥有的以下函数。
fun recomendationsData() {
Fuel.get("https://rss.itunes.apple.com/api/v1/us/apple-music/hot-tracks/10/explicit.json").response { request, response, result ->
println(request)
println(response)
val (bytes, error) = result
if (bytes != null) {
val str = String(bytes)
val obj = JSONObject(str)
val resultsP = obj.getJSONObject("feed")
val results = resultsP.getJSONArray("results")
for (i in 0..(results.length() - 1)) {
val o = results.getJSONObject(i)
trackName1.add(o.getString("name"))
trackArtist1.add(o.getString("artistName"))
trackImage1.add(o.getString("artworkUrl100"))
}
}
}
}
我读到了关于"回调函数(callback)"的东西,但我真的不明白它是如何工作的,也不知道如何实现它(任务必须异步完成)。
再次非常感谢!
敬礼