Есть ли способ объединить имя переменной в Swift? - PullRequest
0 голосов
/ 21 сентября 2018
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, если заявления, как я делаю ниже.Есть ли способ объединить строку с Int и превратить ее в переменную в swift?(Цифры после каждого объекта - это число, которое я получаю от читателя кода)

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 голосов
/ 21 сентября 2018

Почему бы вам просто не использовать словарь для хранения имен файлов?

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

Когда вам нужно определенное имя файла, просто используйте цифровую клавишу, прикрепленную к этой строке.

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