SwiftUIのチュートリアルの文法(コンピューテッドプロパティ)について2019-06-18SwiftUIのチュートリアルの文法(コンピューテッドプロパティ)についてSwiftはじめにコンピューテッドプロパティとは?新しいコンピューテッドプロパティ?まとめはじめに先日、SwiftUIが発表されて最近ちょくちょく公式チュートリアルをやっています。2つ目のチュートリアルをやっていると、見たことのないプロパティの定義方法が出てきたので、今回はそれについてまとめてみました。これが問題のコードです。coordinates.longtitude)}ぱっと見コンピューテッドプロパティっぽいですが、gettterやsetterやreturn文がありませんよね。この問題を解決すべく、まずコンピューテッドプロパティについて簡単に説明し、その後上記のコードについて解説しようと思います。コンピューテッドプロパティとは?プロパティ自身が値を保持しておらず、プロパティへのアクセス時に計算した値を返すプロパティです。ちなみに、値を保持するプロパティはストアドプロパティといいます。プロパティの種類については以下の記事がわかりやすいです。qiita.comコンピューテッドプロパティは次のように使います。27コンピューテッドプロパティを定義するときはget{}でgetterを、set{}でsetterを指定し、getterには値を返す処理を、setterには値を更新する処理を書きます。上のコードでは、getterで半径に応じた円の面積を返す処理を、setterで円の半径を更新する処理を書いています。ここで、コンピューテッドプロパティのgetterは必須ですが、setterは省略可能です。setterを定義していないのでコンパイルエラーになるまた、setterを省略した場合はget{}を省略してgetterを書くこともできます。}}以上がこれまでのコンピューテッドプロパティの定義方法です。スポンサーリンク新しいコンピューテッドプロパティ?コンピューテッドプロパティについて理解できたところで、初めのコードを見てみましょう。coordinates.longtitude)}これは、先程説明したsetterとget{}を省略した形に似ていますが、returnまでもが省略されています。あれ?こんな書き方OKなの?といろいろ調べていると、以下のページが見つかりました。Declarationでは次のように書かれています。expression.つまり、getterの中身の式が一つだけなら、returnは書く必要がないってことです。この暗黙的なreturnは、短いコードのreturnの占める割合多くね?単一式だったらreturn書いてるってことにしようよってことで採用されたようです。そのため、暗黙的なreturnは関数の定義においても使えます。75まとめSwift5.1から関数の定義やgetterでは単一式の場合にreturnが省略でき、コード量を減らせるようになります。SwiftUIのチュートリアルはとてもわかりやすいのですが、文法の解説がないのがなんだかなーって感じです。他にも気になった文法が出てくれば、調べてまとめようと思います。Code】BlackとFlake8を使ってきれいなPythonコードを書く!!スポンサーリンクプロフィール応用情報取得。3度の学会発表経験あり。使用言語は主にPythonとSwift。(1)月別アーカイブ検索このブログについてプライバシーポリシースポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。