Ich weiß, dass die Erweiterung Typen zu erweitern, für die Sie nicht auf den ursprünglichen Quellcode zugreifen können, aber einige Entwickler verwenden Erweiterung in einer Klasse, die es selbst machen.wo verwende ich die extension?
sorry für mein Englisch :(
Beispiel:.
class Category: Mappable {
var PostCategoryId: Int?
var Name: String?
private(set) var Slug: String?
private(set) var PostCategoryParentId: Int?
private(set) var PostCategoryParentPath: String?
var childCategories: [Category]?
var parentCategory: Category?
init() {
}
}
extension Category {
enum CategoryId: Int {
case Comedy = 4
case Action = 6
case Animation = 10
}
}
Manchmal wird es nur für die Lesbarkeit verwendet. Z.B. Wenn ich mich an das neue Protokoll anpasse, kann ich das mit der Erweiterung tun und sauberen Code haben. – eMKa
In deinem Fall hilft es dir wirklich nicht. Ich benutze sie nur, wenn ich eine Klasse woanders in einer Bibliothek habe, die ich nicht bearbeiten durfte, also kann ich der Klasse eine Funktion mit Erweiterungen hinzufügen. Oder wenn Sie eine schnelle Klasse bearbeiten müssen, können Sie Ihre eigene Funktion mit der Erweiterung hinzufügen. – ahdgfd
Dies ist kein Duplikat. Die andere Frage bezieht sich speziell auf Erweiterungen für Klassen, während diese Frage allgemeiner ist und Protokollerweiterungen enthalten könnte. – Lew