0

可能重复:
语法帮助 - 变量作为对象名称

我在Objective C中有一个非常基本的初学者问题:

我想声明一个以另一个变量的内容/值/文字命名的变量。我怎样才能做到这一点?

IE

NSString *s = [NSString stringWithFormat:@"variableName"];

// 现在创建一个以 s 中的文字命名的第二个变量

int *s = 42; // This is what doesn't work. The integer-type variable should be named variableName

有谁知道如何做到这一点?

感谢您到目前为止的答案。我问这个问题的原因如下:

我有一个数组,其中包含我从 xml 文件中加载的值,其结构如下:

<string>name</string><integer>23</integer><real>3.232</real><real>4.556</real> ... (44 times another real number)<string>nextName</string>...(and so on).

该文件包含 MKPolygons 的名称、每个多边形的点数以及多边形每个点的纬度和对数值。我设法加载文件并将其内容放在一个数组中。现在我想从这个数组中创建 MKPolygons,它们被命名为数组中的字符串。

4

3 回答 3

5

您正在寻找的是哈希表。您可以使用NSDictionaryNSMutableDictionaryNSHashTable

这是一个例子:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:anObj forKey:@"foo"];
[dict objectForKey:@"foo"];
[dict removeObjectForKey:@"foo"];
[dict release];
于 2012-08-20T22:48:51.657 回答
0

这在 Objective-C 中是不可能的,在大多数主流语言中也是不可能的(PHP 除外)。你想用这个来完成什么?

于 2012-08-20T22:46:57.350 回答
0

我不认为你能做到。但是,您可以创建一个NSDictionary并创建一个名为的键variableName和一个名为 的值42。(一NSNumber)。然后,每当您想检索此值时,您只需执行valueForKey.

于 2012-08-20T22:46:59.643 回答