swift - 在变量名中使用整数for循环

问题描述 投票:0回答:1

我想做这样的事情:

for i in 0...3 {
let skspritenode\(i) = SKSpriteNode(imageNamed: "Layer_\(i)")
self.addChild(skspritenode\(i))
}

这是行不通的,因为我的skspritenode(i)是let而不是字符串,我试过这个:

for i in 0...3 {
let skspritenode = SKSpriteNode(imageNamed: "Layer_\(i)")
self.addchild(skspritenode)
}

这不起作用,因为skspritenode已经有父。

有没有办法在for循环中执行此操作,还是我必须单独声明每个let?先谢谢你

swift for-loop var
1个回答
1
投票

为什么需要以不同的方式命名每个节点? skspritenode变量在for循环中作用域,因此以下代码应该可以正常工作:

for i in 0...3 {
  let skspritenode = SKSpriteNode(imageNamed: "Layer_\(i)")
  self.addchild(skspritenode)
}

你的观点

这不起作用,因为skspritenode已经有父

是不正确的,因为您在每次迭代时都在创建新的SKSpriteNode。

© www.soinside.com 2019 - 2024. All rights reserved.