有没有办法快速串联var的名称?

时间:2018-09-21 08:38:07

标签: swift string concatenation var

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

我有一个读码器,可以给我一个数字,并从这个int中,我必须放置一个特定的.SCN文件。我不想像下面这样添加100 if语句。是否可以通过某种方式将一个字符串与一个Int连接起来并迅速将其转换为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)

1 个答案:

答案 0 :(得分:3)

为什么不只使用字典来存储文件名?

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

当您需要特定的文件名时,只需使用附加在该字符串上的数字键即可。

print(object[9]) //Prints "NaCl.scn"