Конфиденциальный протокол

Есть ли способ скрыть протокол, соответствующий конечному пользователю? Я попытаюсь подробно описать то, что хочу. У меня есть класс let, назовите его EndUserClass, который соответствует некоторому протоколу, скажем HiddenClassDelegate, и этот протокол я хотел бы скрыть от конечного пользователя. Код выглядит следующим образом:

@interface EndUserClass : NSObject  <HiddenClassDelegate>
{
  // .....
}   

@end

и я хочу сохранить те же функции со следующим объявлением:

@interface EndUserClass : NSObject  
{
  // .....
}   

@end

Есть ли способ скопировать протокол в частном порядке? Я знаю, что я могу пропустить делегат в объявлении класса, но он дает предупреждение компилятора, которое я не хочу иметь

Ответ 1

Это можно сделать, объявив пользовательскую категорию класса в файле реализации:

// .m file
@interface EndUserClass() <HiddenClassDelegate>

@end