verwendet werden. Ich versuche, eine Zugriffsmethode für einen Singleton zu erstellen. Ich erhalte diesen Fehler (siehe Code unten). Ich verstehe nicht, warum ich diesen Fehler bekomme und was dieser Fehler bedeutet. Kann mir jemand erklären?Statischer Member kann nicht für Instanz des Typs
Antwort
Sie versuchen, auf Klassenvariable von der Instanz dieser Klasse zuzugreifen. Um das zu verwenden, müssen Sie die Funktion Klassenebene verwenden: static func(). Versuchen Sie folgendes:
static func sharedDelegate() -> AppDelegate {
return UIApplication.sharedApplication().delegate as! AppDelegate
}
erklärt Msgstr "Sie versuchen, auf den Klassenparameter von Instanz zuzugreifen" - warum kann ich das nicht tun? – andrewz
überprüfen Sie diese Antwort - http://stackoverflow.com/questions/29636633/static-vs-class-functions-variables-in-swift-classes –
hm, ich tat, aber es beantwortet meine Frage nicht. Es geht um das Überschreiben statischer gegen Klassenmethoden/Eigenschaften. Ich versuche nicht, eine Eigenschaft zu überschreiben. Ich versuche, auf eine statische Eigenschaft ('thedelegate') innerhalb der Methode einer Instanz zuzugreifen. – andrewz
Sie müssen den statischen/Klassenvariable oder eine Funktion mit dem Klassennamen vorangestellt, in dem er erklärt, auch wenn sie in derselben Klasse.
In diesem Fall möchten Sie return AppDelegate.thedelegate!
und als Martin R. weist darauf hin, AppDelegate.thedelegate = self
Perfekt, danke. –
Es scheint inkonsistent, denn wenn Sie eine let x = someStatic tun, funktioniert es im globalen Bereich der Klasse, keine Notwendigkeit für das Präfix. – LegendLength
- 1. Initialisieren statischer Member innerhalb des Konstruktors einer Instanz
- 2. Statischer Member und Vererbung
- 3. Instanz des generischen Typs erstellen?
- 4. illegal Aufruf von nicht-statischer Member-Funktion
- 5. ungültige Verwendung von nicht-statischer Member-Funktion
- 6. Initialisierung statischer Member einer Vorlagenklasse
- 7. Python 3: Wie kann Objekt Instanz des Typs sein?
- 8. Initialisierer für Unterklasse des generischen Typs kann nicht aufgerufen werden
- 9. In statischer Multithreading-Instanz aufrufen
- 10. Parameterexpression des Typs ‚System.Int32‘ kann nicht für die Delegierten Parameter des Typs verwendet werden ‚System.String‘
- 11. Ausdruck des Typs 'System.Int32' kann nicht für Parameter des Typs 'System.Object' der Methode 'Boolean Equals (System.Object)'
- 12. kann nicht Aufgabe des Typs erstellen ‚ShadowJar‘
- 13. Fehlermeldung "Kann Objekt des Typs nicht umwandeln"
- 14. Operatorüberladung: Member-Funktion vs. Nicht-Member-Funktion?
- 15. Wie kann ich eine anonyme Instanz eines generischen Typs erstellen?
- 16. Erhalte eine "No umschließende Instanz des Typs ..." Fehler
- 17. Übergeben einer Instanz des anonymen Typs über WCF
- 18. Gradle Fehler: Es konnte keine Instanz des Typs com.sun.tools.javac.api.JavacTool erstellen
- 19. Newtonsoft.Json.JsonSerializationException: Konnte keine Instanz des Typs (abstrakte Klasse) erstellen
- 20. Wie erstelle ich eine Instanz des unbekannten Typs?
- 21. Wie erstellt man eine neue Instanz des Typs in Typescript?
- 22. create htmlhelper Instanz eines anderen Typs
- 23. Offset von Member-Zeiger ohne temporäre Instanz
- 24. Definieren statischer Const-Integer-Member in der Klassendefinition
- 25. Kann nicht Objekt des Typs MongoId als Array verwenden
- 26. Kann nicht Objekt des Typs MySQLi_Result als Array Fehler verwenden
- 27. Kann Objekt des Typs AnonymousType nicht zu System.Data.DataRowView in WPF
- 28. Abrufen des Typs einer MemberInfo mit Reflektion
- 29. Kann Objekt des Typs ‚System.Data.DataRowView‘ werfen
- 30. Kann Objekt des Typs 'System.Collections.Generic.List`1 nicht umwandeln
'AppDelegate.thedelegate = self' –
, dass die Lösung für dieses Problem ist, aber Sasha hat es – andrewz