2016-10-20 7 views
1

の内側に私はこのような何かを持っていますか? この行の仕組みを理解してもらえますか?変数は、オプションの変数

これは理解しやすいですlocationManager?.startUpdatingLocation():メソッドが実行されますlocationManagernilではありません。しかし、notnullインスタンスへの代入オプション変数は私を混乱させます。それは値を含む、又はゼロである場合にbはデフォルト値を返す場合、ドキュメント(https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/BasicOperators.html

ゼロ-合体オペレータから

+1

これは、row.section?.indexがnilの場合、indexは-1と等しいことを意味します。 – koropok

+0

'row.section'とは何ですか? – Vyacheslav

答えて

2

(?? B)オプションAをアンラップ。式aは、常にオプションの型です。式bは、aの内部に格納されている型と一致しなければなりません。 row.sectionがnilこの場合

は、全体式(row.sectionは?.INDEX)したがって、インデックスがこの行let index = row.section?.indexが正しくなければならないと-1

設定され、ゼロです。 let index = (row.section?.index)!

+0

あなたの回答が少し更新されました – Vyacheslav

関連する問題