Ваше приведенное утверждение действительно только в том случае, если base
действительно указывает на instance of ClassSuper
.Поскольку ClassBase
включает в себя больше типов, чем ClassSuper
ваше приведение может произойти сбой во время выполнения !
Ваше первое утверждение, однако, не будет ошибочным, потому что Objective-C не заботится о типево время назначения.Таким образом, ваш ClassSuper* super
больше id super
во время выполнения.Тем не менее, приведение будет проверено и выкинет ошибки, если не выполнено.