2017-07-18 18 views
0

私はあなたの助けが必要です。あなたはこの文で{ get }を書いて何を意味するのか私に説明してくださいすることができますスウィフトでの簡単な不動産のゲッターの説明

public var isLandscape: Bool { get } 

私が意味する、これを理解するのはとても簡単です読み取り専用の計算されたプロパティですが、中括弧が後に置かれていない理由を私は理解していないことですget単語私は自分の計算されたプロパティを作成したい場合は、それらを配置し、そのreturn valueを記述する必要がありますか? Appleがそのゲッターの実装を隠し、プロパティーのread-onlyタイプを表示することを望んでいたことを意味しますか?

+0

以下の回答から明らかでない場合、これは計算されたプロパティとは関係ありませんが、適合する型はisLandscape'というプロパティのゲッターを持たなければなりません。私はそれが計算されたプロパティに似ていることを知っていますが、これは単なるプロトコル宣言です。実際の実装は格納されたプロパティでも、計算されたプロパティでもかまいません。 – Rob

答えて

1

この形式のプロパティ宣言は、通常、protocolと宣言するときに使用されます。私はそれが生成されたインターフェイスで使われていることも見てきました。

プロトコルの場合、適合するオブジェクトがプロパティのゲッターを公開する必要があることを示しますが、getsetの両方のメソッドを持つプロパティが機能します。

+0

ありがとう、そんなに! – Dave

0

これは、XcodeのSwiftクラスのプロトコルと生成されたインターフェイスファイルでプロパティ宣言がどのように見えるかを示しています。

これを見るには、自分のSwiftクラスファイルの1つを選択し、アシスタントエディタを開きます。アシスタントエディタの対応部分からyourClassName(インタフェース)のオプションを選択すると、同じ種類のプロパティ宣言が表示されます。

アップルのクラスファイルはすべて、Xcodeでインタフェースとして提供されているため、実装の詳細については不明な点がありません。

関連する問題