@ toddler, responsedsToSelector просто проверяет, может ли соответствующий объект ответить на этот конкретный метод.Он не проверяет, имеет ли интерфейс это определение, связанное с ним, поскольку это проверка во время выполнения.
Если бы вы удалили код из файла реализации (файл .m), а не из интерфейса, у вас возникла бы ошибка при его выполнении, и вы обнаружили бы, что BOOL sul равен FALSE.