1

是否可以按照以下方式做一些事情:

 Entity [NSString stringWithFormat:@"Entitiy%i",entitiesCreated];

创建一个名为 Entity1、Entity2、Entity3、Entityn 的变量?我不在乎我是怎么做的,我只需要一些类似于可变命名变量的东西。如果有任何用处,它们将被添加到数组中。

4

1 回答 1

0

不是“变量”本身,而是按名称存储数据的典型方法是通过关联数据结构,例如NSMutableDictionary(在 ObjC 中)或std::unordered_mapstd::map(在 C++ 中)。你调查过那些吗?特别是,例如,这近似于您似乎正在尝试做的事情:

NSMutableDictionary* dict = [NSMutableDictionary dictionaryWithCapacity:1];
[dict addObject:somevalue forKey:[NSString stringWithFormat:@"Entity%i",entitiesCreated]];

然后,访问值:

id val = [dict valueForKey:@"Entity1"];

或者。

我假设您来自另一种编程语言,例如 JavaScript 或 PHP,其中此类关联数据结构用于保存所有变量 - 在 C 派生语言中并非如此,其中变量是静态分配的。您必须显式创建任何动态数据结构。

于 2012-05-05T15:37:53.203 回答