Вызов реализации super
в категории вызывает их в суперклассе объекта, с которым вы имеете категорию, а не в исходной реализации объекта, которую вы пытаетесь сделать.
super
,при использовании в контексте вызова метода в методе экземпляра вызывает реализацию этого метода суперклассом.
В категории вы не создали подкласс - код, который у вас естьзаписано выполняется непосредственно классом, против которого вы имеете категорию.Поэтому вызовы super
реализаций будут отправлены суперклассу CALayer
, который является NSObject
.
Поэтому я немного удивлен, что вы не получили предупреждений компилятора при попытке сделать это в категории.
Здесь еще более подробно обсуждается это: Вызывает super вкатегория такая же, как вызов в подклассе?