В Objective-C имена методов имеют аргументы, брошенные в середине. Я бы сказал, что для - (void)setTo:(int)n over:(int)d
хорошей аналогичной функцией C будет void function setTo_over_(int n, int d)
.
Я добавил подчеркивание и слово «over», потому что размещение аргументов и слово «over» являются частями имени метода. Название метода действительно setTo:over:
. «setTo» - это только первая половина имени метода.
Это действительно полезно, когда вы делаете что-то вроде, например, colorWithRed:1.0 green:0.5 blue:0.7
. В Си это будет colorWithRed_green_blue_(1.0, 0.5, 0.7)
, и немного сложно сказать, какое число какое. Благодаря способности Objective-C помещать аргументы прямо в середине имени метода, мы можем ясно видеть, какое число является каким компонентом цвета.
(Еще хуже, потому что подчеркивания выглядят смешно, и просто из-за соглашения, вполне вероятно, что функция C будет больше похожа на color(1.0, 0.5, 0.7)
, и теперь мы просто запутались. То есть то, что мы обычно используем Objective Функция C для аргументов в середине метода предназначена для поддельных «именованных аргументов».)
Вы должны проверить Стиль Какао для Objective-C, Часть I . В нем есть подробное объяснение хорошего стиля при именовании методов и небольшое сравнение методов Objective-C и функций C.