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

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

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

HOME > #ifdef DEBUG のやり方

デバッグ時とリリース時に処理を変更する#ifdef DEBUG のやり方

DEBUG時だけ特定の動作をさせて、リリース時に排除したい、そんな時に利用する方法です。Swiftでは標準ではDEBUGとリリースの判断がつかないので、 コンパイル時に設定する必要があります。参考サイトには今後標準でDEBUGがコンパイル時に自動でできるかな?との記載もQiita様にありましたが、 XCode6.3ではまだのようでした。

参考:Swift での #ifdef DEBUG のやり方
参考:Xcode6,Swiftで APIのURLを分ける

やってみた

Swift Compiler - Custom Flags に Other Swift Flags のDebugに -D flag のフォーマットで追加します。今回はDEBUGなので、本来はわかりやすく -D DEBUGですが、それだと芸がないので、あんまりやってももちろん意味も何もありませんが、-D HIGE にしてみます。デバッグ時にはHIGEが含まれます。

サンプル画像


        #if HIGE
        let yourfavoritearea = "ヒゲです"
        #else
        let yourfavoritearea = "実はヒゲではありません眉毛です"
        #endif
        
        println(yourfavoritearea);
        

#ifを利用する箇所は関数の中でも外でもグローバルでも大丈夫です。上記の方法だと、DEBUG時にはHIGEがコンパイル時に含まれますので、 "ヒゲです"が表示され、リリース時には"実はヒゲではありません眉毛です"が表示されます。

まとめ

簡単な事をHIGEを使ってややこしく気持ち悪くしてしまい失礼しました。難しい内容でヒゲネタを使うのは良いですが、 単調な記事に使うとただ煩わしいだけだと自分自身感じました。

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

関数引数の参照渡し Inout

Swiftで参照だけを渡す(呼び出し元の変数の値を変更する)にはどうしたらよいのかな〜と調査していると、関数引数に参照渡しする方法でindexinoutという言葉があることを知りました。紹介いたします

NSThreadでスレッド処理を行う

タイマー処理と同様に利用できるスレッドの処理です。NSTimerではヒゲがのびたサンプルでしたので眉毛の濃くなるサンプルにしてみます。ただ、どうやらThread処理は 推奨されておらず、dispatch_queueを使用するべきのようです。

presentViewControllerで画面遷移下からビョーン

下からビョーンとUIViewControllerを出す方法を記載します。この処理も多用していたのですがこのHPになかったので追記しました。 Navigationと連動させた横へシャーと移動するスライドの関数(pop)とは違うので注意です。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!