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"