【新サービス告知】いつでもどこでもイベントを開催できる。スマホのWebカメラを利用したVRイベントスペースサービス(Meetatcube.com)
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > Staticな変数や関数

Staticな変数や関数

静的なスタティックな変数や関数はSwiftではどうやって宣言するのか説明します。PHPで一度宣言させたらソースのどこからでもStaticClass::memberFunctionみたいに 実行できるような形をSwiftでどう実際に行うかを調査します。

静的な変数

以下私のお粗末なソースの一部で恐縮ですが、、、クラス名の前にstruct, 変数の前にstaticをつけることでプロジェクト側から簡単に呼び出すことができます。


//GlobalDataという静的な変数セットをもつ静的クラス
import Foundation
import UIKit
import SpriteKit
import AVFoundation

struct GlobalData {
    //var
    static var mainViewController:ViewController = ViewController();
    static var game_data:String = "";
    static var event_layer:UIView = UIView();
    static var main_layer:UIView = UIView();
    static var containerDirectionToLeft:Bool = true;
    static var containerDirections:Array = Array();
    static var screenshot:UIImage = UIImage();
    static var audioPlayerGameOver:AVAudioPlayer = AVAudioPlayer();
    //let
    static let C_APP_NAME = "Swift-salaryman";
}

プロジェクトからは以下のように簡単に呼び出すことができます。Swiftはヘッダファイルが必要ありませんので、上記のGlobalDataの静的ファイルが プロジェクトに追加されてさえいれば、以下はコンパイルエラーなく処理してくれます。


    override func viewDidLoad() {
        super.viewDidLoad()
        GlobalData.mainViewController = self;
    }

静的な関数

変数と同じでstructと宣言したクラスにstaticで関数を追加することで対応できます。


struct SwiftSalarymanUtil {
    static var age = 33;
    static func say(){
        println("I am a salaryman");
    }
}

プロジェクトからは上記同様に以下のように呼び出すことができます。


    override func viewDidLoad() {
        super.viewDidLoad()
        SwiftSalarymanUtil.say()
    }

まとめ

PHPなんかはrequireで追加を名言する必要があっただけにSwiftの方が手を抜きやすい。楽です。

↓こんな記事もありますよ!


2021-04-22 14:54:53

かっこいいカルーセル厳選3点!WebGLを使った渋い画像スライダー。

昨日カッコいいスライダーを探す旅にでていました。 よく使われるswiper など、シンプルで使いやすくデザインも良いのですが、何かもの足りない、、、。 そこで調べていくと、webglを使...

2021-04-20 14:46:43

Twillioとは何??skywayとは何が違うのか。webrtcを使う際に判断する情報。

先日webrtc開発で「twillio」といった名前を聞きました。 以前自分でskywayを使ってwebrtcを試していた際に調べた時には、無かったような気もするんだけと、KDDIが絡んでいる...

2021-04-19 13:58:21

先日久々にアップデートした妊娠週刊パパのAndroid版も。アカウント移管したいんだけど、注文ID見当たらないよ。

先日の妊娠、出産、育児関連のアプリ「妊娠週刊パパ」をAndroid studioで再リリースしようと思ってるんだけど、コンパイル失敗してエミュレータで動かせない。 多分sdkとかapiのバージ...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!