対象:
Swift

ログ出力(Swift)

デバッグで、通過ロジックや変数の内容を手軽に確認したい時はprint関数が使えるだろう。

        let array = [1, 2, 3]
        print("ボタンが押されました。")
        print("print: \(array)")
ボタンが押されました。
print: [1, 2, 3]

関数名を表示したい場合は#function、行番号を表示したい場合は#lineといったリテラルが使える。他に#fileや#columnも用意されている。

        print("関数名は" + #function + "です。")
        print("行番号は\(#line)です。")
関数名はtestLogです。
行番号は30です。

また、Objective-CではおなじみのNSLogも使える。こちらはタイムスタンプも出力してくれるので、それが必要な場合には重宝するだろう。

        NSLog("ボタンが押されました。")
        NSLog("NSLog: %@", array)
2016-10-25 21:10:41.218164 LogTest[670:312346] ボタンが押されました。
2016-10-25 21:10:41.223059 LogTest[670:312346] NSLog: (
    1,
    2,
    3
)

もちろん、DateとDateFormatterを使えば、print関数でミリ秒を含むタイムスタンプを表示することもできる。

        let df = DateFormatter()
        df.dateFormat = "yyyy/MM/dd HH:mm:ss.SSS"
        print("\(df.string(from: Date())) タイムスタンプを表示")
2016/10/25 21:10:41.225 タイムスタンプを表示

Swift 2.0からdebugPrint関数も使えるようになっている。Swift Standard Library Referenceによれば、デバッグに最適とのことなので、こちらを用いても良いだろう。debugPrintの使い方はprint関数と変わらないが、出力はprint関数とは異なり、ダブルクォーテーションで括られている。

        debugPrint("ボタンが押されました。")
"ボタンが押されました。"
(2015/03/16)
() 最新のリテラルに書き換え。

新着情報
【iOS Objective-C, Swift Tips】アプリアイコンにバッジを表示(Swift)
【iOS Objective-C, Swift Tips】画像の向きを指定して保存する(Swift)
【iOS Objective-C, Swift Tips】UIImagePickerControllerの表示を日本語にする(Swift)

Copyright(C) 2004-2017 モバイル開発系(K) All rights reserved.
[Home]