如何使用变量构造命令

时间:2015-11-14 07:36:01

标签: xcode swift swift2 xcode7

我在Xcode中有一个变量,我需要用它来构造另一个命令。我该如何结合这个?这是概念

我有一个名为“activechannel1”的变量和按钮Overlay1 - Overlay12

我想设置特定按钮的图像,按钮将取决于activechannel1的值。所有数字都对应于文件名,所以我试图这样做。

让我们说

ActiveChannel1 = 6 // This changes and represents which button I want to change

我正在尝试这样做,但我得到一个连续的语句错误:

Overlay"\(ActiveChannel1)".image = UIImage(named: "y\(ActiveChannel1)")

我想基本上屈服于:

Overlay6.image = UIImage(named "y6")

1 个答案:

答案 0 :(得分:0)

您无法动态"键入"变量名。但是,可以以这样的方式访问它们:变量可以改变您使用的变量。

您可能觉得有用的课程(请注意,您在Swift中使用这些课程的方式有所变化):
NSArray
NSDictionary

将X作为数字(在此处以字符串的形式):

对于OverlayX,您可以使用数组。

let overlays = [Overlay1, Overlay2, /*...*/]

使用索引0-11访问正确的变量。

yX使用NSString(format:)

//use %d for int
let imageName = NSString("y%@", X - 1) //%@ is Obj-C format for id IIRC, I'm not sure if it changes in Swift
overlays[X - 1].image = UIImage(named: imageName)
//or, in a single line
overlays[X - 1].image = UIImage(named: NSString(format: "y%@", argList: X - 1))

请注意,此代码未经测试。
另请注意,我使用的是Objective-C而不是Swift。如果有人遇到此问题并发现语法不正确,请评论或编辑我的帖子。