Вы правы, директива @private
предназначена для переменных экземпляра, а не для методов.Чтобы скрыть реализацию метода, просто опустите его объявление из заголовочного файла.Для подавления предупреждений вы можете использовать расширение категории или класса для объявления метода в файле .m
.
Хотя встроенной языковой функции нет, чтобы подкласс не видел метод.Зачем тебе это делать?