【问题标题】:variable name from string in obj-cobj-c中字符串的变量名
【发布时间】:2010-07-02 10:21:33
【问题描述】:

我有一堆名为 index1、index2、...、indexn 的变量。我想计算i = array[index1] + array[index2] + ... + array[indexn]. 听说可以循环做,从循环索引中获取当前变量名。我该怎么做?

【问题讨论】:

  • 拥有一堆编号变量是线索#1,表明您的程序结构有问题。为什么它们不在数组或其他适当的复合对象中?

标签: objective-c


【解决方案1】:

而不是像这样使用单个变量:

int index1, index2, index3, ...indexN:

您应该考虑使用索引数组:

int index[N];

然后你可以循环求和,例如

sum = 0;
for (i = 0; i < N; ++i)
{
    sum += array[index[i]];
}

【讨论】:

    【解决方案2】:

    抱歉,这在 Objective-c 中是不可能的。例如,它可以在 php 中使用。

    如果您的数据模型允许,可以通过名称获取对象,但通常变量名称不能按名称合成。

    【讨论】:

    • 这仅在您使用键值编码 (KVC) 来保存变量时才有效。我认为它们只是代码中的普通整数,而不是符合 KVC 的属性。可以考虑将它们重构为一个数组。
    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2017-12-27
    • 1970-01-01
    • 2021-03-07
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多