Ответ 1
Короткий ответ: Нет.
Длинный ответ: вид.
- Вы можете использовать массив, хранить в нем переменные и индексировать его.
- Как и # 1, если ваши объекты на самом деле являются элементами пользовательского интерфейса, и вам не нужна целая группа
IBOutlets
, используйте вместо этогоIBOutletCollection
. - Вы можете использовать словарь, хранить переменные в качестве значений и искать их по клавише.
- Вы можете объявить все свои переменные как
@property
, а затем использовать[self valueForKey:]
для поиска по имени. - Вы можете построить имя ivar как строку, а затем использовать что-то вроде
object_getInstanceVariable()
, чтобы получить его значение напрямую (это аналогично # 3, за исключением того, что вам не нужно объявлять его как@property
). Это чрезмерно сложно и, как правило, намного больший молот, чем вам действительно нужно. - Если вы имеете дело с представлениями, вы можете назначить каждому виду уникальный тег, а затем получить его через
[superview viewWithTag:aTag]
. Я не рекомендую использовать этот подход.
EDIT: Обратите внимание, что это работает только с переменными экземпляра. Это не работает с глобальными/статическими переменными.