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

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

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

HOME > 'UIWindow?' does not have a member named 'Layer'の対応の対応の対応

'UIWindow?' does not have a member named 'Layer'の対応の対応

以下不備にハマったのでメモ。サンプルソースをコピーしているとよく発生するのでメモ。Appleの仕様変更で元来の型からオプショナル型に変わった場合等に必要と思われます。 ほぼ同じ投稿をerror002.phpで自分でアップしているので全く成長していないようでした。orz。覚えずらい、、、、


//この行でUIWindow?にはLayerが無いとのエラー。ちなみにkeyWindowがUIWindow。
let layer = UIApplication.sharedApplication().keyWindow.layer

以下のようにラップしてあげると解決します。UIWindowはSDK最新版ではオプショナル型なのに、sharedApplication()のkeyWindowは以前のまま通常のクラス表記だった場合に発生しているようです。 なので、こういったエラーがでたらまず「?』をつけて様子をみましょう、、、


let layer = UIApplication.sharedApplication().keyWindow?.layer

いつまでこれに悩まされるのか、、、

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

SQLiteを使いたい。ラッパーを検証してみる。(#2)

前回の記事でSQLiteのラッパのRMDB, SWiftData,SQLite.swiftの検証をトライしまいたが、時間の問題で頓挫してしまいましたので続きです。 。ある程度準備が完了しましたので、それぞれのサンプルを動かしてみてみようと思います。InsertとSelectとインストール感を比較してみます。

ScrollViewで横スクロールしつつ2指でPinch Zoom

前回のScrollView記事ではスワイプするサンプルを記載しましたが、今回は横スクロールしつつ各ページでは二つ指によるズームの方法を検証します。

willsetとdidsetでプロパティを監視。意味あるのか???

クラスのプロパティにはWillsetとdidsetという監視用の関数があると聞いたのですが、用途は分かるにしても メリットとしてはどういうものなのかなと、うーん、と考えていました。調べていると海外のサイトでは同じように疑問にもつ質問があがっていました。 getとsetで同じことができるのでは?との私と同じスタンスです。解決されていましたので、順に説明していきます。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!