Swift und Klassenerweiterung verwenden
Ich verstehe nicht, warum Programmierer das @ verwendextension
Schlüsselwort in ihrer Klassenimplementierung. Sie können in anderen Themen lesen, dass Code dann mehr semantisch getrennt ist usw. Aber wenn ich mit meinem eigenen Code arbeite, fühlt es sich für mich klarer an, @ zu verwende// MARK - Something
. Wenn Sie dann die Methodenliste (Strg + 6) in Xcode verwenden, wird alles auf den ersten Blick angezeigt.
In der Apple-Dokumentation können Sie lesen:
"Erweiterungen fügen einer vorhandenen Klasse, Struktur oder einem vorhandenen Aufzählungstyp neue Funktionen hinzu."
So warum nicht meinen eigenen Code direkt in meine eigene Klasse schreiben? Anders als wenn ich die Funktionalität einiger fremder Klassen erweitern möchte, wie zBNSURLSession
oderDictionary
, wo Duhabe, um Erweiterungen zu verwenden.
Mattt Thompson verwendet die Erweiterung in seiner Alamofire-Bibliothek. Vielleicht kann er mir wenig erklären, warum er sich für diesen Ansatz entschieden hat.