【发布时间】:2017-10-16 19:47:09
【问题描述】:
我有一个应该显示用户名的标签。现在,我已经做了相当多的 IOS 开发,但是线程对我来说仍然有点不清楚。我如何确保这段代码完成:
User(name: "", email: "", _id: "").getCurrentUser(userId: userId)
在执行此操作之前?:
self.nameLabel.text = currentUser.name
我一直在摸索DispatchQueue,但我似乎无法弄清楚...
提前谢谢!
【问题讨论】:
-
假设
getCurrentUser执行异步网络操作,那么您需要将闭包传递给getCurrentUser并更新该闭包中的标签,如果没有关于该函数是什么的更多信息,这是不可能的可以肯定地说。 -
如果这个调用是异步的,那么通常它也会接受一个完成闭包作为参数,或者提供一些其他的方式来在它完成时得到通知。如果
getCurrentUser方法是您的应用程序的一部分(而不是第三方框架),那么正确的答案可能是确保它使用这种方法。
标签: ios swift dispatch-queue