Swizzling e super

Eu estou tentando swizzle o canPerformAction: withSender: método para UIResponder e todas as suas subclasses que substituíram esse método.

Eu estou fazendo isso armazenando as implementações originais em um dicionário digitado pelo nome da classe; e procurando o dicionário na versão swizzled da implementação antes de chamar a implementação original.

Isso parece funcionar bem em alguns casos, mas falha quando a implementação original chama super. Então meu método swizzled continuamente continua sendo invocado e o programa entra em recursão infinita.

Oque pode estar errado aqui?

questionAnswers(1)

yourAnswerToTheQuestion