var object1 = "C_active.scn"
var object86 = "Soap.scn"
var object41 = "image.scn"
var object9 = "NaCl.scn"

不同.SCN文件的名称
public func addBox(sceneView: ARSCNView) {
let imagePlaneScene = SCNScene(named: "art.scnassets/" + object1)
let imagePlaneNode = imagePlaneScene?.rootNode.childNode(withName: "object1", recursively: true)
imagePlaneNode?.position = positioner

我有一个代码读取器,它给了我一个数字,从这个整数开始,我必须放置一个特定的.SCN文件。我不想在下面加上100个if语句。有什么方法可以将字符串与Int连接起来并在swift中将其转换为var吗?(每个对象后面的数字是我从代码读取器收到的数字)
if(coding == 1) {
    sceneView.scene.rootNode.addChildNode(imagePlaneNode!)
} else if(coding == 2) {
    sceneView.scene.rootNode.addChildNode(imagePlaneNode!)
} else {
    sceneView.scene.rootNode.addChildNode(imagePlaneNode!)
}

有点像
var("object" + coding) -> coding41 (Var)

最佳答案

你为什么不用字典来存储你的文件名呢?

var object: [Int: String] = [1: "C_active.scn", 9: "NaCl.scn" ...]

当您需要特定的文件名时,只需使用附加到该字符串的数字键。
print(object[9]) //Prints "NaCl.scn"

10-02 19:29