【发布时间】:2019-04-30 12:24:22
【问题描述】:
当在我的 tableView 中选择一个项目时,我希望在第二个函数 goToSegue 被触发之前执行第一个函数 fetchChosenExerciseData。我该如何实施?我看过完成块但无济于事。
我的代码的 sn-p 如下:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! UITableViewCell
exerciseChosen = cell.textLabel!.text!
duplicatesRemovedFromSetDataList.removeAll()
fetchChosenExerciseData()
goToSegue()
提前致谢。
【问题讨论】:
-
会的。有什么问题?
-
函数几乎同时执行,因此在触发segue之前还没有检索到数据。
-
在 fetchChosenExerciseData() 中编写 goToSegue() 函数。如果他们在同一个班级。
-
或者按照您的建议,使用完成块作为
fetchChosenData()函数的参数 -
它们不是同时执行的。
fetchChosenExerciseData将首先执行,然后是goToSegue。现在你是否在fetchChosenExerciseData中调度一些异步任务是另一回事。如果您发布fetchChosenExerciseData函数的定义会有所帮助
标签: swift func completionhandler