如何使用文件数量的价值?

时间:2019-04-05 08:20:32

标签: ios swift google-cloud-firestore

我正在尝试检索特定集合中的文档数。我正在通过快照检索它,因为它给了我正确的数字。但是,当我想通过函数返回它时,它返回0

然后我尝试进行一些控制台打印,看起来先打印了返回值(1),然后又返回并打印了请求中的值,我的第二个打印状态是({ {1}})。如何使它返回正确的值(或2值)?

我的计数器在snapshot.count的开头声明,如下所示:

ViewController

这是我的代码:

var counter: Int = 0

控制台:

  

0
  2

1 个答案:

答案 0 :(得分:0)

当您从Firebase服务器获取数据时,这是一个asynchronous调用,您需要等待直到收到服务器的响应。

因此,对于您来说,当您调用checkDayNumber时,方法print(counter) (1)将在API调用完成之前返回,因此它将返回0

现在您的API调用仍在继续,并且Firebase服务器返回结果后,您的print(self.counter) (2)将返回2。

因此,要解决此问题,您可以使用closures

Here进行了解释。