11月13日(月)3、4コマ目
今日、やったこと
- クロージャー
- エラー処理
今日のホワイトボード
クロージャー
要は無名関数。
Swiftでは関数は第1級オブジェクトなので、変数に代入可能。
|
| 図 クロージャー |
引数の型と数、戻り値の型が同じなら、処理内容が異なるクロージャー式を代入可能。
練習問題8
クロージャーの練習問題をやりました。
正解例をあげておきます。
練習問題8-1
|
| 図 練習問題8-1 ヒント |
練習問題8-2
|
| 図 練習問題8-2 ヒント |
練習問題8-3
|
| 図 練習問題8-3 ヒント |
練習問題8-4
エラー処理
JavaやC#のtry~catchと同じようなもの。
try~catchではなく、do~catch
エラー(例外)をスローする関数はthrowsで例外スローを宣言(Javaと同じ、型は不要)
エラー(例外)をスローする関数を呼び出す際はtryが必要
|
| 図 エラー処理 |
練習問題9
以前やった練習問題6を改造。正解例をあげておきます。
|
| 図 練習問題9 ヒント |
calcurate()関数は
- 引数heightが範囲外ならnilを返す=>よって、戻り値はOptional型
- 引数heightが範囲外でもエラーはスローしない
result()関数は
引数heightが範囲外かチェックはしない
呼び出すcalcurate()がnilを返せばエラーをスロー
戻り値はString型のまま。Optional型ではない。
次回は
Swift入門の最終回。
11月20日(月)、21日(火)はiOSアプリ作成講習です。





