Mil*_*dek 1 swift swiftui property-wrapper
我注意到,通过 Xcode 自动完成建议,它@State似乎不仅自动生成一个$- 前缀成员用于访问相应的Binding(众所周知),而且还自动生成一个_- 前缀成员,似乎暴露了实际的State包装器。
这让我想知道它的用例是什么,文档中在哪里提到了它?
我发现这实际上是由于 Swift(而不是 SwiftUI)propertyWrapper在底层编译的方式造成的。
来自官方 swift 文档(在 propertyWrapper 下):
\n\n\n编译器通过在包装属性名称前添加下划线 (_)\xe2\x80\x94 来合成包装类型实例的存储,例如,someProperty 的包装存储为 _someProperty。包装器的综合存储具有私有的访问控制级别。
\n
这是每次使用时发生的情况propertyWrapper:
\n (来自更好的编程)
至于它在 SwiftUI 上下文中的实际应用,您可以使用它来初始化变量,如此 SO 答案或此博客文章@State中所述。
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |