如果没有,我如何循环遍历 IBOutlet(如 temp1、temp2、temp3)并依次获取属性?
在 matlab 中,我会连接一个字符串并使用 eval。
for k = 1:3
eval(["temp",num2str(k)]);
end
我是 Swift 新手,想用 IBOutlets 来做到这一点。就像是,
for(var k = 0, ++k, k==4) {
eval(["self.temp",String(k),".backgroundcolor"]);
end
我知道 eval 函数是 Matlab 格式,但我只是表达我想做的事情。
Swift 是一种静态类型语言,因此不可能在 Matlab 中实现“eval”之类的东西。
您可以使用以下代码达到相同的行为:
@IBOutlet var labels: [UILabel]!
override func viewDidLoad() {
super.viewDidLoad()
for label in labels {
label.backgroundColor = UIColor.redColor()
}
}
尽管可能可以使用运行时来实现一些魔法,但连接同一个插座集合中的所有组件是最简单的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)