如何在调用中修复参数“完成”的缺失参数(MapBox Scene Kit)

时间:2019-02-06 15:20:53

标签: swift swift4 mapbox scenekit

我正在编写一个应用程序,以使用MapBox Scene工具包查看AR中的位置。我不断收到错误消息“调用中缺少参数'completion'的参数”,而且似乎没有地方记录该问题。

我知道过去(2018年8月)使用的代码,因此我相信该框架已更新。如果有人有任何建议,将不胜感激。

        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
            })
        }

enter image description here

1 个答案:

答案 0 :(得分:1)

错误消息非常准确,它告诉您您需要做什么:在您的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
    }
)