У меня есть два класса (class1 и class2), которые просто хранят данные, а не методы. У меня есть третий класс, у которого есть переменная экземпляра, которая, в зависимости от некоторого пользовательского ввода, будет установлена в один из двух классов. Итак, в третьем классе я объявляю переменную как
NSObject *aClass;
и во время выполнения установите его на то, что должно быть.
aClass = [[Class1 alloc] init]; // or
aClass = [[Class2 alloc] init];
Однако, когда я пытаюсь получить доступ к полям из aClass
NSString *str = aClass.field1;
Это дает мне ошибку: запрос на член 'field1' во что-то, не являющееся структурой или объединением. Поле1 объявлено как в class1, так и в class2. Когда я пытаюсь разыграть aClass
aClass = (Class1 *) aClass;
выдает ту же ошибку. Что я делаю не так, есть ли лучший способ сделать это?