[#] [Перевод] Многоликие функции Swift
habrabot(difrex,1) — All
2014-11-30 02:00:03


Русский перевод очень полезной статьи [Natasha Murashev][1] [The Many Faces of Swift Functions][2]. Хотя у _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»][3]: [Читать дальше →][4]

[1]: https://twitter.com/NatashaTheRobot
[2]: http://www.objc.io/issue-16/swift-functions.html
[3]: https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
[4]: http://habrahabr.ru/post/244487/#habracut