Ответ 1
То, что вы просите, на самом деле не имеет никакого смысла.
unknownClass
указывает на объект класса. Class
- это просто тип, который может содержать любой указатель на объект класса. Вы вызываете метод класса, отправляя сообщение объекту класса.
Class
, например id
, отключает проверку статического типа. Это означает, что компилятор не будет жаловаться на то, что объект может не отвечать на этот метод. Поэтому вы должны просто отправить сообщение. "Кастинг" не имеет никакого смысла. Если вы получаете ошибку en, что нет интерфейса, объявляющего этот метод, тогда у вас есть совершенно не связанная проблема, которая не имеет ничего общего с типами; вместо этого метод не объявляется ни в каком видимом заголовке.
Вы говорите в комментариях к другому ответу, что "я знаю, что" unknownClass "на самом деле является типом MyClass". Это делает ваш вопрос еще менее понятным - почему бы просто не использовать MyClass
непосредственно? вместо unknownClass
? Как [MyClass myMethod];