Swift/Optional
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(Swift/Optional);
*目次 [#c489e9f7]
#contents
*関連ページ [#n48e1ab9]
*参考情報 [#c9832961]
-[[[Swift] Optional 型についてのまとめ Ver2 - Qiita:http:...
*基本 [#n3ae9f27]
-Swiftではnilを設定できない型と設定でる型を区別する
-nilを設定できない型を通常の型、nilを設定できる型をOption...
#pre{{
var a: Int? // Optional 型
var b: Int // 非 optional 型
a = nil // -> OK
b = nil // コンパイルエラー
}}
-Optional型の初期値はnilとなる。
*Optional型変数の使用方法 [#xe14a117]
Optional型変数は直接扱えない。アンラップする必要がある。
-Forced Unwrapping: "!"を使う。nilをアンラップするとラン...
#pre{{
var person:Person? = nil
person!.info() //=> error
}}
-Optional Chaining: "?"を使う。このとき戻り値がOptional型...
#pre{{
var person:Person? = nil
person?.info() //=> ni.
}}
-Optional Binding: ifやwhileの条件式でアンラップ。
#pre{{
var person:Person? = nil
if let person = person {
person.info()
}
}}
-比較演算子でアンラップ
#pre{{
var value:Int? = 9
value == 9
}}
*Implicitly Unwrapped Optional 型 [#t8ffa3c6]
-自動的にアンラップされるOptionalがた
#pre{{
var a: Int!
a.foo() //=>自動的にアンラップできるが、nilが入っていると...
}}
**?? 演算子 [#y3a0ac77]
-「a ?? b」a!がnilでなければa!を返す。aがnilならばbを返す...
終了行:
&tag(Swift/Optional);
*目次 [#c489e9f7]
#contents
*関連ページ [#n48e1ab9]
*参考情報 [#c9832961]
-[[[Swift] Optional 型についてのまとめ Ver2 - Qiita:http:...
*基本 [#n3ae9f27]
-Swiftではnilを設定できない型と設定でる型を区別する
-nilを設定できない型を通常の型、nilを設定できる型をOption...
#pre{{
var a: Int? // Optional 型
var b: Int // 非 optional 型
a = nil // -> OK
b = nil // コンパイルエラー
}}
-Optional型の初期値はnilとなる。
*Optional型変数の使用方法 [#xe14a117]
Optional型変数は直接扱えない。アンラップする必要がある。
-Forced Unwrapping: "!"を使う。nilをアンラップするとラン...
#pre{{
var person:Person? = nil
person!.info() //=> error
}}
-Optional Chaining: "?"を使う。このとき戻り値がOptional型...
#pre{{
var person:Person? = nil
person?.info() //=> ni.
}}
-Optional Binding: ifやwhileの条件式でアンラップ。
#pre{{
var person:Person? = nil
if let person = person {
person.info()
}
}}
-比較演算子でアンラップ
#pre{{
var value:Int? = 9
value == 9
}}
*Implicitly Unwrapped Optional 型 [#t8ffa3c6]
-自動的にアンラップされるOptionalがた
#pre{{
var a: Int!
a.foo() //=>自動的にアンラップできるが、nilが入っていると...
}}
**?? 演算子 [#y3a0ac77]
-「a ?? b」a!がnilでなければa!を返す。aがnilならばbを返す...
ページ名: