ong*_*bak 0 xcode loops function ios swift
我正在尝试在Swift(V2.1.1)中创建一个应用程序,我想知道是否可以缩短它:
Pillar1.center = movePillarUp(Pillar1.center.x, floaty: Pillar1.center.y, pillarNumber: 1)
Pillar2.center = movePillarUp(Pillar2.center.x, floaty: Pillar2.center.y, pillarNumber: 2)
Pillar3.center = movePillarUp(Pillar3.center.x, floaty: Pillar3.center.y, pillarNumber: 3)
Pillar4.center = movePillarUp(Pillar4.center.x, floaty: Pillar4.center.y, pillarNumber: 4)
Pillar5.center = movePillarUp(Pillar5.center.x, floaty: Pillar5.center.y, pillarNumber: 5)
Pillar6.center = movePillarUp(Pillar6.center.x, floaty: Pillar6.center.y, pillarNumber: 6)
Pillar7.center = movePillarUp(Pillar7.center.x, floaty: Pillar7.center.y, pillarNumber: 7)
Pillar8.center = movePillarUp(Pillar8.center.x, floaty: Pillar8.center.y, pillarNumber: 8)
Pillar9.center = movePillarUp(Pillar9.center.x, floaty: Pillar9.center.y, pillarNumber: 9)
Pillar10.center = movePillarUp(Pillar10.center.x, floaty: Pillar10.center.y, pillarNumber: 10)
Run Code Online (Sandbox Code Playgroud)
进入某种功能或循环,这样我就不必手动复制,粘贴和输入所有数字.
当你看到你的代码包含这样的xxx1,xxx2,xxx3模式,你知道它是更好地使用数组存储xxx秒.
如果您是Swift的初学者,这就是您创建一系列支柱的方法:
let pillarArray = [Pillar1, Pillar2, Pillar3, Pillar4, Pillar5,
Pillar6, Pillar7, Pillar8, Pillar9, Pillar10]
Run Code Online (Sandbox Code Playgroud)
然后你只需遍历数组并调用movePillarUp每个支柱:
for (index, pillar) in pillarArray.enumarate() {
movePillarUp(pillar.center.x, floaty: pillar.center.y, pillarNumber: index + 1)
}
Run Code Online (Sandbox Code Playgroud)
那更清洁了!
其实,你并不需要创建Pillar1到Pillar10了!为什么不在获得对象时将其添加到数组中?
var pillarArray = []
pillarArray.append(someMethodThatReturnsAPillar())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |