読者です 読者をやめる 読者になる 読者になる

しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Swift再入門18 − The Swift Programming Languageを読んでみる

この記事では「The Swift Programming Language」を1から読んだ感想とか発見を書いてみようと思います。
「The Swift Programming Language」とはSwiftの公式ドキュメントでiBooksや下ページで見る事ができます。

The Swift Programming Language (Swift 2.1): About Swift

読んだ所

今回はOptional Chainingという項目を読みました。

The Swift Programming Language (Swift 2.1): Optional Chaining

学んだこと

Optional Chaining

Optional Chainingとは下のように?を使ってオプショナルの中身を取り出す事です。

let date: NSDate? = NSDate()
date?.description // → dateがnilの場合はnilになって、dateがnilでない場合はdescriptionの値が返る

セッターに対してもオプショナルチェインは利用できます。

let label: UILabel?
label?.text = ""

配列の要素を取り出す箇所にも使えます。

let arr: Array? = [""]
arr?[0]

面白い事にインクリメントにも利用できました。

var int: Int? = 0
int?++

++はIntのメソッドでなく下のような大域関数なので使えないと思っていました。

postfix public func ++(inout x: Int) -> Int

しかし加算は!でアンラップしなければ実行できませんでした。

int! + int!