matlab - swift 是否有等效的 "eval"函数,就像在 Matlab 中一样?

标签 matlab swift eval

如果没有,我如何循环遍历 IBOutlets(如 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()
    }
}

虽然可能可以使用运行时来做一些魔术,但连接同一个导出集合中的所有组件是最简单的方法。

关于matlab - swift 是否有等效的 "eval"函数,就像在 Matlab 中一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29675109/

相关文章:

matlab - 使用不同间隔的 3d 矩阵的最小值/最大值 Matlab

ios - self.tabBarController 有时为零

swift - 如何在最新的iOS 14中仅在swiftui中舍入 ScrollView 的顶角

perl - 在 Test::More 中的 eval 期间保护全局变量

javascript - 尝试理解 JavaScript eval 的输出,它进行字符串解析

php - 如何将php代码保存到数据库中

matlab - 使用 MATLAB 随机划分矩阵

arrays - 修改大型元胞数组以在 MATLAB 中查找满足条件的某些行

ios - Xcode 项目文件未出现在项目导航器中

matlab - (matlab) 具有 relu 和 softmax 的 MLP 不适用于小批量 SGD,并在 MNIST 数据集上产生类似的预测