MENU
コンテンツ再構築中

Swift:println で様々な値を出力する

Objective-C ではデバッグ等で NSLog を使用していましたが、 Swift では主に print や println を使用するかと思います。
println はジェネリクスで定義されているので、文字列にに限らず変数やクラス等も簡単に出力結果が得られ、かつ NSLog よりも高速です。

println と print の違いは、出力時に改行があるかないかだけです。ログの出力結果に改行が入ってないと視認性が悪くなるため通常は println を使用することになるかと思います。

今回はこの println で様々な値を出力してみたいと思います。

INDEX

println で様々な値を出力する

文字列

文字列は”(ダブルコーテーション)で括ります。

[code]
print(“Hello”)
[/code]
[code]
Hello
[/code]

変数

変数はそのまま記述します。文字列の中で変数を出力したいときはバックスラッシュ \ の後()で括ります。

[code]
let str: String = “Hello”

println(str)
println(“str is \(str)”)
[/code]

[code]
Hello
str is Hello
[/code]

Bool も同じくそのまま記述すれば出力されます。

[code]
var myBool1: Bool = true
var myBool2: Bool!

println(myBool1)
println(myBool2)
[/code]

[code]
true
nil
[/code]

記号

記号を出力したい場合はエスケープ文字の \(バックスラッシュ)を使用します。

[code]
println(“backslash \\”)
println(“single quotation \'”)
println(“double quotation \””)
[/code]

[code]
backslash \
single quotation ‘
double quotation ”
[/code]

float

[code]
let floatValue: Float = 123.456789

println(floatValue)
println(NSString(format:”%f”, floatValue))
println(NSString(format:”%.f”, floatValue))
println(NSString(format:”%.1f”, floatValue))
println(NSString(format:”%.2f”, floatValue))
println(NSString(format:”%.3f”, floatValue))
println(NSString(format:”%.01f”, floatValue))
println(NSString(format:”%.02f”, floatValue))
println(NSString(format:”%.03f”, floatValue))
[/code]

[code]
123.456789
123.456789
123
123.4
123.45
123.456
123.4
123.45
123.456
[/code]

UIColor

[code]
let color1: UIColor = UIColor.blackColor()
let color2: UIColor = UIColor.whiteColor()
let color3: UIColor = UIColor.grayColor()
let color4: UIColor = UIColor(red: 1.0, green: 0, blue: 0, alpha: 0.5)

println(color1)
println(color2)
println(color3)
println(color4)
[/code]

[code]
UIDeviceWhiteColorSpace 0 1
UIDeviceWhiteColorSpace 1 1
UIDeviceWhiteColorSpace 0.5 1
UIDeviceRGBColorSpace 1 0 0 0.5
[/code]

その他

[code]
func myFunction(myInt: Int) -> Int { return myInt }
println(myFunction(10))

var font: UIFont = UIFont(name: “HelveticaNeue”, size: 12)!
println(font)

var time: NSTimeInterval = 10.0
println(time)

var myCGPoint: CGPoint = CGPoint(x: 12.0, y: 34.0)
println(myCGPoint)

var myRect: CGRect = CGRectMake(0, 0, 100, 200)
println(myRect)

var myInt1 = 10
var myInt2 = 20
println(myInt1+myInt2)

[/code]

[code]
10
font-family: “Helvetica Neue”; font-weight: normal; font-style: normal; font-size: 12.00pt
10.0
(12.0,34.0)
(0.0,0.0,100.0,200.0)
30
[/code]

まとめ

println は NSLog よりも記述がシンプルなうえ高速です。

慣れないうちは、各クラスの関数やメソッドの先頭に println を記述し、引数や返り値を常に出力するようにしていれば、アプリの動きを理解しやすくなり、デバッグ等に役立ちます。NSLog より高速ですのでどんどん使っていきましょう。

この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Please share it!
  • URLをコピーしました!
  • URLをコピーしました!
INDEX