Как исправить отсутствующий аргумент для параметра «завершение» в вызове (MapBox Scene Kit) - PullRequest
0 голосов
/ 06 февраля 2019

Я пишу приложение для просмотра локаций в AR, используя MapBox Scene kit.Я продолжаю получать сообщение об ошибке «Отсутствует аргумент для параметра« завершение »в вызове», и, похоже, нигде нет, чтобы документировать проблему ».

Я знаю код, который работал в прошлом (август 2018 г.), поэтому я считаю, чторамки были обновлены.Если у кого-то есть какие-либо предложения, которые будут высоко оценены.

        if let terrainNode = terrainNode {
            terrainNode.scale = terrainNodeScale // Scale down map
            terrainNode.position = SCNVector3Make(0, -0.15, 0) // Place map slightly below clouds
            terrainNode.geometry?.materials = defaultMaterials() // Add default materials
            scene.rootNode.addChildNode(terrainNode)

            terrainNode.fetchTerrainHeights(minWallHeight: 100.0, enableDynamicShadows: true, progress: { progress, total in
            }, completion: {_ in
                NSLog("Terrain load complete")
            })

            terrainNode.fetchTerrainTexture(type, progress: { progress, total in
                self.progressView?.progress = progress
                NSLog("Texture load complete")
                terrainNode.geometry?.materials[4].diffuse.contents = image
            })
        }

введите описание изображения здесь

1 Ответ

0 голосов
/ 06 февраля 2019

Сообщение об ошибке очень точное и точно говорит, что вам нужно сделать: добавьте параметр completion к вашему вызову fetchTerrainTexture, например:

terrainNode.fetchTerrainTexture(
    type, 
    progress: { progress, total in
        self.progressView?.progress = progress
        NSLog("Texture load complete")
        terrainNode.geometry?.materials[4].diffuse.contents = image 
    },
    completion: { image, fetchError in
        // whatever needs to be done on completion
    }
)
...