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

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

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

アプリを常にActiveにForegroundにした状態で写真を撮影できるか

写真は音をたてないと撮影できなかったり不便なことが多いのでできるのかよくわかりませんので検証

カスタムクラスを作成時いつも忘れる。継承クラス作成時のメモ

カスタムクラスを作成する時いつもUIViewを継承する際のrequired Initの箇所でハマってしまうので覚書です。

アプリから電話をかける

Objective-Cではサンプルがありましたが日本語では無かったので共有です!
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!