Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

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

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の方が手を抜きやすい。楽です。

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

GはGoogle他のアルファベットを勝手に妄想してみる

さて昨日はGoogleが衝撃的な発表でAlphabetという親会社をつくって、Googleはアルファベットの中のGがGoogleとの 位置づけで今後展開していくとの事。ネーミングもですが、今後の期待を大きく感じる、またわかりやすく好印象だったのか株価も 大きく上がったとのことでした。さて、その他残りのアルファベットはどんな風になるのかなぁと勝手に歩きながら妄想してみました。

CoreTextでTextViewの一文字の向きを変える(#2)

さて、サンプルそのままだと面白くないので、本日6月から開始する自転車規制強化 にのっかったサンプル<自転車の転だけ横に曲げる>にしてみます。(14歳以上が対象。自転車のイヤホン装着や片手走行、 酔っ払い運転、歩道運転、片手スマホ、、、、今まで誰もがやり通してきたことが「逮捕や補導の対象」となるようです。赤切符もきられる ようになるとのことで、自転車に酔っ払ってのって自動車の免停なんかになりかね無いので注意です)

NSNotificationCenterでコード間のイベントやりとり

AppDelegateのイベント(アプリがアクティブ)になるタイミングでViewControllerに通知する為にはどうすればいいのか?と 調査しているとこのクラスにたどり着きました。delegateを利用せずにイベントの通知をViewController間で簡単に実装できるので 使いやすいです!
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!