Как добавить метку, которая асинхронно загружается из Firestore в SKNode в ARkit? - PullRequest
1 голос
/ 05 апреля 2020

Я пытаюсь получить данные из поля в Firestore, что происходит в функции get number, которая работает :) Затем я хочу использовать ее в качестве метки для SKnode в ARKit, но поскольку данные из Firestore вызываются асинхронно, метка не может быть непосредственно возвращенным в блоке завершения, и если узел метки создан снаружи, тогда у него нет обновленного значения из firestore?

func view(_ view: ARSKView, nodeFor anchor: ARAnchor) ->  SKNode? {

    guard let imageAnchor = anchor as? ARImageAnchor,
    let ImageName = imageAnchor.referenceImage.name,
    let scannedImage = self.images[ImageName]
        else { return nil}

        getNumber{ number in

             let labelNode = SKLabelNode(text: number)
             labelNode.horizontalAlignmentMode = .center
             labelNode.verticalAlignmentMode = .center
             //return labelnode; - doesnt work because it is in the completion block


        }
    //return labelNode; - doesnt work because labelnode is not defined - this runs before the completion block


}
...