问题描述
Apple 关于 SwiftUI 的本教程 使用美元符号进行绑定数据,我在 SwiftUI 中无法找到有关此数据绑定的更多信息.
Toggle(isOn: $showFavoritesOnly) {
您可以使用 $ 前缀访问对状态变量或其属性之一的绑定.
这是某种 inout
类型参数吗?这使用与号来传递它.
$
与属性委托结合使用.
它不是运算符,而是一个前缀(感谢@matt!).
有关属性委托的更多信息,请参阅此 Swift Evolution 文档.
例如在@State var aState = false
中,State
是一个属性委托.
这意味着如果我们写:
aState
我们正在访问一个Bool
值$aState
我们正在访问一个Binding
值
不同的属性委托会产生不同的值.
This tutorial by Apple about SwiftUI uses a dollar sign to bind data, and I‘m having trouble finding more information about this data binding in SwiftUI.
Toggle(isOn: $showFavoritesOnly) {
Is this some sort of inout
type parameter? That uses the ampersand to pass it on.
The $
is used in conjunction with property delegates.
It's not an operator, but a prefix (thanks @matt!).
For more about property delegates, see this Swift Evolution document.
e.g. in @State var aState = false
, State
is a property delegate.
This means that if we write:
aState
we're accessing aBool
value$aState
we're accessing aBinding<Bool>
value
Different property delegates will generate different values.
这篇关于这个例子中的美元符号有什么作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!