[解決済み] グローバル変数を作成するには?
2022-05-11 07:31:51
質問
ViewController間で共有する必要があるグローバル変数があります。
Objective-Cでは、静的変数を定義することができますが、Swiftでグローバル変数を定義する方法を見つけることができません。
何か方法をご存知でしょうか?
どのように解決するのですか?
Swiftの公式プログラミングより 案内 :
<ブロッククオートグローバル変数とは、どのような 関数、メソッド、クロージャ、または型コンテキストの外側で定義される変数です。グローバル定数および は常に遅延計算されます。
任意のファイルで定義することができ、アクセスは現在の
module
のどこからでもアクセスできます。
つまり、どのスコープでもなく、ファイルのどこかで定義することができるのです。そのため
static
は不要で、すべてのグローバル変数が遅延的に計算されます。
var yourVariable = "someString"
現在のモジュールのどこからでもアクセスできます。
しかし、グローバル変数はアプリケーションの状態を表すのに適しておらず、主にバグの原因となるため、これを避ける必要があります。
このように
回答
でカプセル化することができます。
struct
でカプセル化し、どこにでもアクセスすることができます。
また、Swiftでは静的変数や定数を定義することができます。カプセル化する
struct
struct MyVariables {
static var yourVariable = "someString"
}
この変数は、任意のクラスや任意の場所で使用することができます。
let string = MyVariables.yourVariable
println("Global variable:\(string)")
//Changing value of it
MyVariables.yourVariable = "anotherString"
関連
-
[解決済み] 型の不変値に変異型メンバを使用することはできません。
-
[解決済み] JavaScriptの変数をアンセットするには?
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] 文字列の長さを取得する
-
[解決済み] SwiftでUIAlertViewを作成するにはどうしたらいいですか?
-
[解決済み] SwiftでStringのサブストリングはどのように動作するか
-
[解決済み】Python関数のグローバル変数?
-
[解決済み】Xcode 8 Beta 3 Legacy Swiftを使用する問題
-
[解決済み】UIViewControllerの最上位機種を取得する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】インスタンスメンバを型で使用することができない
-
[解決済み] Swift presentViewController
-
[解決済み] swift 3 エラー。引数ラベル '(_:)' は利用可能なオーバーロードに一致しません。
-
[解決済み] Swift言語におけるエクスクラメーションマークの意味とは?
-
[解決済み] このコンテキストで型検索を行う場合、「メソッド」は曖昧である、Alamofireのエラー
-
[解決済み] Swift - 呼出しの余分な引数
-
[解決済み] 2倍値を小数点以下x桁に丸める処理を素早く行う。
-
[解決済み】「このアプリケーションはバックグラウンドのスレッドからオートレイアウトエンジンを変更しています」エラーが発生する?
-
[解決済み】dyld: ライブラリがロードされません。rpath/libswift_stdlib_core.dylib です。
-
[解決済み】Swiftの`let`と`var`の違いは何ですか?