[Swift] optional値の設定(??)
公開日:
:
iPhone App 開発, Swift
Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
optional値がnilの時
プロジェクトで[Master Detail Application]のテンプレートを選択した時にソースコードが自動生成されますが、見慣れない記述があったのでメモ。
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return self.fetchedResultsController.sections?.count ?? 0
}
この関数はUITableViewDelegateのDelegateメソッドで、テーブルビューのセクション数を返します。
問題は??の部分。
調べてみると、??の左側のオブジェクト(optional値)がnilの場合は右側のオブジェクトを返す記述らしいです。
以下、wikiから抜粋
Swift (プログラミング言語)
左オペランドにはT?型、右オペランドにはT型の値をとり、
左オペランドに値が存在していればアンラップしてその値を返し、左オペランドがnilであれば右オペランドの値を返す
"x".toInt() ?? 0 // 0 "5".toInt() ?? 0 // 5
なるほど。
三項演算子と似ているようで用途は全然違いますね。
ad
関連記事
-
-
[Objective-C] no architectures to compile for … のコンパイルエラーについて
起動したプロジェクトでコンパイルエラーが出ました。 no architectures to com
-
-
[Objective-C] iPhoneアプリからのメーラー起動
今回はiPhoneアプリからメーラーを起動する処理を紹介します。 メーラー起動のコントローラー
-
-
[Objective-C] 共通関数をまとめたクラスを作ろう!
共通クラスとは? アプリを作っていると「この処理何回も書いてるなー」ということが多々あると思います
-
-
[Swift] UITabBarControllerでタブ選択時のイベントを取得する
UITabBarController タブを使った画面を作成する場合はUITabBarContro
-
-
iPhoneApp WorkManager公開されました!
きっとリジェクトされるんだろうなと思いながら申請を出して1週間。 本日、公開のメールが届きまし
-
-
[Swift] スクリーンサイズを取得する
スクリーンサイズを取得 iPhoneの幅と高さを取得する関数を紹介します。 iOS8から画面の傾
-
-
[Objective-C] 小数点を丸める!(数値変換)
小数点を含む数値 Objective-Cに限らず、小数点を含む数値を計算する場合はdoubleやf
-
-
[Swift] UITableViewのセルにアクションを設定する
セル選択→アクション UITableViewControllerを使用したテーブルビューの画面があ
-
-
Xcode5のstoryboard内でUIKeyCommandエラーの対処法
既存のプロジェクトからstoryboardにあるオブジェクトをコピペして、新規プロジェクトに貼付けた
-
-
小さなことからコツコツと
これまでHTMLとCSSだけで生きてきただけあって、プログラム言語がいまいちわからない。 Mo