Язык Objective-C предоставляет способ формально объявить список методов (включая объявленные свойства) как протокол.Формальные протоколы поддерживаются языком и системой времени выполнения.Например, компилятор может проверять типы на основе протоколов, а объекты могут анализировать во время выполнения, чтобы сообщить, соответствуют ли они протоколу.