Самоанализ

Самоанализ относится к свойственной возможности объекта обнародовать, по запросу, его существенным характеристикам во время выполнения. Путем отправки объектам определенных сообщений можно задать им, вопросы о себе как объекты и время выполнения Objective C предоставляют Вам ответы. Самоанализ является важным инструментом кодирования, потому что он делает Ваши программы более эффективными и устойчивыми. Вот несколько примеров того, как самоанализ мог бы быть полезным:

Introspection

Типы информации о самоанализе

NSObject протокол, принятый NSObject класс, определяет методы самоанализа, приводящие к следующим видам информации об объекте:

  • Членство в классе. Чтобы определить, наследовался ли объект, прямо или косвенно, от определенного класса, отправьте его isKindOfClass: передайте и оцените результат. Если объект является прямым экземпляром данного класса, этот метод говорит Вам. Можно также использовать class и superclass методы, чтобы получить класс или суперкласс объекта и затем использовать тот результат в операциях сравнения.

  • Сообщения ответили на. Чтобы узнать, реализуют ли класс или суперкласс объекта метод, отправьте объект a respondsToSelector: сообщение. Параметр является a SEL- введенное значение, созданное из подписи метода с помощью @selector директива. Например:

    BOOL doesRespond = [anObject respondsToSelector:@selector(writeToFile:atomically:)];
  • Соответствие протокола. Если класс будет соответствовать формальному протоколу, то можно ожидать, что он реализует требуемые методы того протокола и отправит сообщения в него соответственно. Используйте conformsToProtocol: метод для получения этой информации. Вы указываете параметр этого метода с помощью @protocol директива.

Необходимые как условие статьи

Категорическое обсуждение