Русский перевод очень полезной статьи
Natasha Murashev The Many Faces of Swift Functions.
Хотя у
Objective-C синтаксис выглядит несколько странно, по сравнению с другими языками программирования, синтаксис
метода — прост и понятен. Вот небольшой экскурс в прошлое:
+ (void)mySimpleMethod
{
// метод "класса"
// нет параметров
// нет возвращаемых значений
}
- (NSString *)myMethodNameWithParameter1:(NSString *)param1 parameter2:(NSNumber *)param2
{
// метод "экземпляра"
// первый параметр - типа NSString указатель,
// второй параметр - типа NSNumber указатель
// должен вернуть значение типа NSString указатель
return @"hello, world!";
}
В противоположность этому, синтаксис
Swift выглядит в большинстве случаев также, как и в других языках программирования, но временами он может быть более сложным и запутанным, чем в
Objective-C.
Прежде чем я продолжу, я хочу прояснить разницу между
«методами» и
«функциями» в
Swift, так как я повсеместно буду использовать оба этих термина в этой статье. Вот определение «методов», данное в книге
Apple «Swift Programming Language»: