Ich habe eine globale Variable, die von meinen ViewControllern gemeinsam genutzt werden muss.
In Objective-C kann ich eine statische Variable definieren, aber ich kann keine Möglichkeit finden, eine globale Variable in Swift zu definieren.
Kennen Sie einen Weg, dies zu tun?
swift
global-variables
czzhengkw
quelle
quelle
Antworten:
Von der offiziellen Swift Programmierung Guide :
Sie können es in jeder Datei definieren und
module
überall auf sie zugreifen . Sie können es also irgendwo in der Datei außerhalb eines beliebigen Bereichs definieren. Es besteht keine Notwendigkeitstatic
und alle globalen Variablen werden träge berechnet.Sie können von überall im aktuellen Modul darauf zugreifen.
Sie sollten dies jedoch vermeiden, da globale Variablen nicht für den Anwendungsstatus und hauptsächlich für Fehler geeignet sind.
Wie in dieser Antwort gezeigt , können Sie sie in Swift einkapseln
struct
und überall darauf zugreifen. Sie können auch in Swift statische Variablen oder Konstanten definieren. Kapselung instruct
Sie können diese Variable in jeder Klasse oder an jedem Ort verwenden
quelle
MyVariables
,MyViewState
sieht also aus wie ein Kopier- / Einfügefehler von stackoverflow.com/a/24868789/1187415 :)Globale Variablen, die außerhalb einer Methode oder eines Abschlusses definiert sind, können mithilfe des privaten Schlüsselworts eingeschränkt werden.
quelle
Wenn Sie es in all Ihren Klassen verwenden möchten, können Sie Folgendes verwenden:
Wenn Sie nur in einer Klasse verwenden möchten, können Sie Folgendes verwenden:
quelle