Swiftui中init()中的变量前的下划线是什么意思?

momentDate 之前的下划线是什么意思?为什么需要它?

回答

下划线变量名指的是Binding结构的底层存储。这是称为Property Wrappers的语言功能的一部分。

给定一个变量声明,@Binding var momentDate: Date,您可以访问三个变量:

  • self._momentDateBinding<Date>结构本身。
  • self.momentDate,相当于self._momentDate.wrappedValue,是Date。在视图正文中呈现日期时,您将使用它。
  • self.$momentDate,相当于self._momentDate.projectedValue,也是Binding<Date>。如果他们需要能够更改日期,您可以将其传递给子视图。

对于Binding中,“预期值”( $)仅仅是self和之间的差异_,并$仅在访问级别。但是,其他属性包装器可能会投射不同类型的值(请参阅语言指南中的@SmallNumber示例)。


以上是Swiftui中init()中的变量前的下划线是什么意思?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>