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

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

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

HOME > lazyとは何か

lazyとは何か

変数の初期化の先頭にlazyと記載されているのに気づき調査してみました。怠ける?楽になる処理なのかなぁ〜ぐらいの認識でしたので理由を調べてみました。
参考:[iOS] 新言語SwiftがObjective-Cよりも良いところ

初期化のコストカット!

どうやら変数を初期化する際にlazyを先頭につけると、実際にその値が参照されるまでは生成されないようです。コストカットですね!例えば重いクラスなんかを生成する場合に、 lazyをつけておくことで負担を減らすようです。ただおそらくlazyを割り振った変数への初動は少なくとも遅くなるはずなので、臨機応変に利用するべきなのかもしれません。

例えば以下のようなSalarymanクラスがあるとします。プロパティstressには大きなCompanyBigStressクラスが入りますので、初期化は控えたいとの流れ。

class Salaryman {
    let hairstyle = "7:3分けの昭和スタイル"
    @lazy var stress = CompanyBigStress(); <- 初期化は参照されるまではされない。
}

let me = Salaryman();//<- この時点でhairstyleには値がセット!stressは何も入っていない

println(me.hairstyle);//<- まだstressは何も入っていない

me.stree.goCompany();//<- この時点で初めてstressにCompanyBigStressクラスが割り振られる

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

大阪都構想の橋下さんの鼻に誠意をもって顔認識処理で画鋲を刺す

先日大阪都構想でニュースがざわついておりましたが、 そこで自分が思っていたこと、なぜ鼻ピンしたのかを顔認識サンプルと誠意を込めて書き記してまいります。(※選挙ポスターに画鋲を刺す事や、そもそも「他人様」の画像を変更することがタブーな事を理解しつつの投稿です。問題がないかの問い合わせメールを送る予定です。画像はWikipediaからの引用です)

Facebook SDKを試してみる#3(再調査)

SDKのインストーラが起動しても結局frameworkをドラッグドロップしなちゃ追加できない、面倒臭い、と発言してしまったのですが、 どうやらSDKをインストーラにてインストールした場合(SDK4.1)は、importするだけでどうやらSDKが追加できるとかなんとか。

RSSリーダで利用するAPIを検証してみる

ニュースアプリの様なRSSを表示させたいのですがXMLを処理するAPIが数点存在するようです。 Swiftにあったものを見つけ出せたらと思います。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!