我需要你的帮助。能否请您描述我在本声明中写{ get }
的含义:
public var isLandscape: Bool { get }
我的意思是很容易理解这是一个只读的计算属性,但是我不明白为什么不在get
字之后放置大括号,因为如果我想创建自己的计算属性,就像我应该把它们描述出来return value
?这是否意味着Apple想要隐藏该getter的实现并显示属性的read-only
类型而已?
答案 0 :(得分:1)
这种声明属性的形式通常在声明protocol时使用。我也看到它用在生成的接口中。
对于协议,它表示符合对象应该公开属性的getter,但是同时使用get
和set
方法的属性都可以。
答案 1 :(得分:0)
这就是属性声明在协议和Xcode中为Swift类生成的接口文件中的样子。
要查看此选择您自己的Swift类文件并打开助理编辑器。在助理编辑器中从Counterparts中选择 yourClassName (接口)的选项,您将看到相同类型的属性声明。
所有Apple类文件都在Xcode中显示为接口,因此我们不会因实现细节而陷入困境。