【问题标题】:Can I create a pointer to an object using its name in a string variable? [duplicate]我可以在字符串变量中使用对象名称创建指向对象的指针吗? [复制]
【发布时间】:2013-10-25 11:05:02
【问题描述】:

本质上,我想做的是拥有一个我创建的字符串作为变量的名称。但是,使用下面的代码,我可以理解地得到一个重新定义错误。

NSString *pointerName = @"myPointer";

NSArray *pointerName = [NSArray array];

有没有办法将字符串用作其内容,而不是让编译器认为我的意思是我要创建的新对象的名称?

【问题讨论】:

  • 基本上很难,如果不是不可能的话。大多数时候有一个不那么棘手的解决方案。你最初的问题是什么?
  • 我想遍历数组中的一系列元素,一个名称列表,并将这些名称用作变量名称的一部分。像 firstPointer、secondPointer 等。但是,我想在快速枚举循环中使用一些不同的变量,每个变量都使用数组元素是它们名称的一部分,这就是导致我提出这个问题的原因。
  • @MarkReid:请输入你的快速枚举循环代码。

标签: ios objective-c cocoa


【解决方案1】:

而不是存储指针的字符串值。你可以这样使用

NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
    for (int i = 0; i < [array1 count]; i++) 
    {
        [dict setObject:[NSArray array] forKey:[array1 objectAtIndex:i]];   
    }

希望对你有用..

【讨论】:

    【解决方案2】:

    根据 cocoa 约定,您不能创建同名变量的对象的指针。苹果文档也说了同样的话,请参考链接https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/Conventions/Conventions.html

    【讨论】:

      猜你喜欢
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 2021-12-12
      • 1970-01-01
      • 2021-06-19
      • 2012-06-13
      • 2019-11-18
      相关资源
      最近更新 更多