gpt4 book ai didi

swift - 协议(protocol)的属性声明中的 "get"是什么意思?

转载 作者:可可西里 更新时间:2023-11-01 00:57:09 26 4
gpt4 key购买 nike

我正在查看自动布局库中的一些代码。其中,有一个UIView采用的协议(protocol):

extension UIView: Constrainable {}
extension UILayoutGuide: Constrainable {
// LayoutGuide doesn't have baseline anchors, so just use the bottom anchor
public var firstBaselineAnchor: NSLayoutYAxisAnchor {
return bottomAnchor
}
public var lastBaselineAnchor: NSLayoutYAxisAnchor {
return bottomAnchor
}
}

public protocol Constrainable {
var topAnchor: NSLayoutYAxisAnchor { get }
var bottomAnchor: NSLayoutYAxisAnchor { get }
var leftAnchor: NSLayoutXAxisAnchor { get }
var rightAnchor: NSLayoutXAxisAnchor { get }
var leadingAnchor: NSLayoutXAxisAnchor { get }
var trailingAnchor: NSLayoutXAxisAnchor { get }

var centerXAnchor: NSLayoutXAxisAnchor { get }
var centerYAnchor: NSLayoutYAxisAnchor { get }

var widthAnchor: NSLayoutDimension { get }
var heightAnchor: NSLayoutDimension { get }

var firstBaselineAnchor : NSLayoutYAxisAnchor { get }
var lastBaselineAnchor : NSLayoutYAxisAnchor { get }
}

一个空的 { get } 完成了什么?

最佳答案

这些是采用协议(protocol)的类必须为其提供 getter 的属性。该协议(protocol)未指定有关 setter 的任何内容,因此类可以提供计算属性而不是存储属性。

例如,一个采用Constrainable 的类可以通过添加

来满足具有 topAnchor 的要求
var topAnchor: NSLayoutYAxisAnchor

或通过添加

var topAnchor: NSLayoutYAxisAnchor {
...
return ...
}

关于swift - 协议(protocol)的属性声明中的 "get"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44059548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com