PHP的“variablesvariables”的目标C等效

在PHP和JavaScript中,您可以通过使用另一个variables作为其名称的一部分来dynamic使用variables。 我不想使用数组作为解决scheme的一部分。 目标C中可以实现吗? 我想要做这样的事情:

for (int i=1; i<6; i++) { if([appRecord.answer(i) length] != 0){ self.textView.answer(i)ViewSingle.text = appRecord.answer(i); } } 

简短的回答:不。

长答案:那种。

  1. 你可以使用一个数组,将你的variables存储在那里,然后索引它。
  2. 就像#1一样,如果你的对象实际上是UI元素,而你不需要一大堆IBOutlets ,那就用一个IBOutletCollection来代替。
  3. 您可以使用字典,将variables存储为值,然后按键查找它们。
  4. 您可以将所有variables声明为@property ,然后使用[self valueForKey:]按名称查找它们。
  5. 您可以将string的名称作为string构build,然后使用类似object_getInstanceVariable()的方式直接检索它的值(这与#3类似,除非您不必将其声明为@property )。 这太复杂了,通常比你实际需要的要大得多。
  6. 如果您正在处理视图,则可[superview viewWithTag:aTag]每个视图分配一个唯一标记,然后通过[superview viewWithTag:aTag]检索它。 我不build议使用这种方法。

编辑:请注意,这只适用于实例variables。 这不适用于全局/静态variables。

但是,您可以给视图添加标签并使用-viewWithTag: