Я не понимаю, почему программисты используют ключевое слово extension
в своей реализации класса. Вы можете прочитать в других темах, что код затем более семантически разделен и т.д. Но когда я работаю с собственным кодом, мне становится понятнее использовать // MARK - Something
. Затем, когда вы используете список методов (ctrl + 6) в Xcode, все будет видно при первом просмотре.
В документации Apple вы можете прочитать:
"Расширения добавляют новые функции к существующему классу, структуре или типу перечисления".
Так почему бы не написать собственный код непосредственно внутри моего собственного класса? В отличие от того, когда я хочу расширить функциональность какого-либо иностранного класса, например NSURLSession
или Dictionary
, где вам нужно использовать расширения.
Мэтт Томпсон использует расширение в своей библиотеке Alamofire, может быть, он может дать мне небольшое объяснение, почему он выбрал этот подход.