gpt4 book ai didi

ios - Xcode,ios,将变量名称设置为另一个变量的值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:55 25 4
gpt4 key购买 nike

我想将一个变量的名称设置为另一个变量的值,有没有其他方法可以做到这一点,因为我认为这不是方法。

NSString *myint = @"a";

NSString *([NSString stringWithFormat:@"%@", myint]) = @"something";

NSLog(@"%@", a);

最佳答案

不,你不能那样做。一旦你的代码被编译,你的变量就没有真正的名字——只有位置。您在调试器中看到的名称由符号文件提供,调试器使用该文件将位置映射到名称。

键值编码可能有所帮助,具体取决于您真正想要完成的目标。使用 KVC,您可以使用键名来引用值而不是访问变量,就像您使用字典一样。例如,如果您有一个具有属性 foobar 的对象,您可以执行如下操作:

NSString *key = @"foo";
[myObject setValue:@(5) forKey:key];

您甚至可以覆盖 -setValue:forKey: 以便它接受任何键并记住该值(这正是字典所做的)。

您可以朝另一个方向走(将一个变量设置为另一个变量的名称)使用stringification operator ,但它有点老套,通常用处不大。简而言之,以# 为前缀的宏参数被用作文字字符串而不是被评估。所以你会像这样创建一个宏:

#define string(x) #x

然后您可以像这样在代码中的某处使用它:

int foo = 5;
NSLog("The name of the variable is %s and its value is %d.", string(foo), foo);

结果如下:

The name of the variable is foo and its value is 5.

关于ios - Xcode,ios,将变量名称设置为另一个变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31600358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com