Вместо суперкласса вы можете объявить методы в протоколе , который в других языках называется "интерфейсом".
@protocol MyProtocol
-(id)myMethodWith:(id)arg;
@end
Измените объявление типа переменных, чтобы объявить, что объект соответствует протоколу.
-(id)doStuffWith:(SuperClass <MyProtocol> *)aThing and:(id)another {
return [aThing myMethodWith:another]
}
Обратите внимание, что вы не сможете передать экземпляр своего суперкласса в doStuffWith:and:
, поскольку он не будет реализовывать MyProtocol, но, похоже, это то, что вам нужно.