In Swift, lassen Sie uns sagen, dass ich eine statische Factory-Methode hinzufügen möchten, die eine Instanz zurückgibt:Swift: Holen Sie sich aktuelle Klasse aus einer statischen Methode
class MyClass {
static func getInstance() {
return MyClass(someProperty);
}
}
Aber was, wenn ich will nicht den Klassennamen schreiben ? Gibt es ein Äquivalent von self
, aber für statische Methoden und Eigenschaften?
Gleiche Idee, wenn ich eine andere statische Methode aus einer statischen Methode aufrufen wollen:
class MyClass {
static func prepare(){
//Something
}
static func doIt() {
MyClass.prepare();
}
}
Kann ich dies tun, ohne MyClass
explizit mit?
Dank. Was ist mit 'self()'? Ich bekomme einige Fehler, die sagen, ich brauche 'self.init', und wenn ich tue, bekomme ich einen anderen Fehler, dass ich einen' erforderlichen' Initialisierer brauche ... –
self() ist nicht möglich, aber ich frage mich, warum willst du das zu tun? dfri beschreibt die Best Practice oben, um Factory Design Pattern zu erstellen. Hier ist ein weiteres Beispiel: https://github.com/ochococo/Design-Patterns-In-Swift/blob/master/source/creational/factory.swift – RobbeR
Der einzige Grund, den ich das tue, ist, weil der Code kopiert wird und verteilt für andere Leute zu verwenden. Ich dachte, die wenigsten Dinge würden besser codiert ... Danke! –