Я думаю, что вы пытаетесь понять цель-c, связывая это с языками программирования ООП, такими как Java или C ++, которые я не рекомендую. С течением времени вы поймете и понравится подход Objc, мне потребовалось 6 месяцев, чтобы по-настоящему насладиться им, а теперь я наслаждаюсь только разработкой ObjC: с.
Во всяком случае человек ObjC. говорит следующее:
Фактическое название метода
(insertObject: atIndex :) является
объединение всех подписей
ключевые слова, включая символы двоеточия.
Символы двоеточия объявляют
наличие параметра. Если метод
не имеет параметров, вы пропустите двоеточие
после первой (и единственной) подписи
ключевое слово. В этом примере метод
принимает два параметра.
Источник: Методы и обмен сообщениями
Редактировать
Способ именования его методами в ObjC, мне он больше нравится, потому что мне не нужно думать о имени метода, а о том, какие сообщения («представленные другими объектами») я хочу отправить объекту A чтобы я получил от нее то, что хочу;
NSArray *list = [object_a fromCategory:@"Literature" authorsStartingWith:@"Em"];
или же
NSArray *list2 = [object_a fromCategory:@"Literature" authorsStarginWith:@"EM" fromCentury:@"16"]
Попробуйте использовать естественный язык и переведите сообщение в object_a, что-то вроде:
«Эй, возьми, дай мне из категории« Литература », все авторы, начинающиеся с« em »и принадлежащие к cetury 16» - это сообщение - вам не нужен отдельный метод Name - все вместе можно рассматривать как имя метода ( как говорит мужчина).
Теперь вы понимаете, насколько элегантен и понятен ObjC способ сделать то, что вы называли «перегрузкой методов»?