LoginSignup
50
49

More than 5 years have passed since last update.

Swiftで便利だった小ネタ集

Last updated at Posted at 2014-10-23

記事にするのもアレ or いまいちちゃんと調べきれてない雑多な小ネタ集

Swiftの小ネタ

printlnにtuple使うと便利

複数の値を一気にコンソールに出したいとき、最初は

println("some value")
println(value)

とやっていたけどタプル化して

println(("some value", value))

とすればよい。地味に便利

追記(2014/12/10)

Xcode6.1.1で試してたところ

println("foo","baz")

が使えるようになっていました。

optionalな値のデフォルト

scalaでいうとこのgetOrElseなのを探してたらこんなかんじだった。
javascriptとかrubyでよくやる記法に近い気がする

let baz : String? = nil
let foo = baz ?? "default value"

XCodeがらみの小ネタ

xibで紐付けたoutletをオプショナル型にすればIBの紐付けが無くても大丈夫になって便利

複数のxibを扱うようなViewCellなどのクラスで、InterfaceBuilderから紐付けた時基本!のunwrap記号が付与されるが、これを?にすれば片一方のxibに存在していないようなヒモ付ができた(TODO:あまり仕組みちゃんと調べてないので要検証)

class SomeCell: UICollectionViewCell{
    @IBOutlet var labelView: UILabel!
    @IBOutlet weak var image: UIImageView!
    @IBOutlet weak var optionalLabel: UILabel? // xibによっては存在しなかったりするならこんな感じで
}

lldbではfr v someValueを使えばコンソール出力できる

po someValueでエラーが出ちゃってなんだろうなーと思っていたけどfr vで出るっぽい。(ちゃんとわかってない)
出展このへん:http://natashatherobot.com/swift-debugging/

50
49
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
49