Я смущен тем, что различие между протоколом и интерфейсом? Они оба, кажется, делают то же самое?
Похож на это абстрактный в C# в этом, Вы обязаны реализовывать его?
протокол в Objective-C - то же самое, что интерфейс в java, если вы об этом
В Objective C интерфейс эквивалентен объявлению класса C ++. А протокол эквивалентен интерфейсу Java.
Редактировать: В Objective C определение класса разделено на два компонента, называемых интерфейсом и реализацией, что позволяет сжимать файлы заголовков. Это похоже на C ++. У Java нет эквивалента, потому что вы реализуете свои функции класса внутри определения класса. В этом отношении C # похож на Java.
Цель-C: протокол
.
Java: интерфейс
.
В остальном никакой разницы.