【发布时间】:2021-04-02 08:21:12
【问题描述】:
我想询问有关 SwiftUI 行为的问题
当我使用.onChange( value) { }
为什么如果我使用带有可选类型的@State var some: SomeType?
然后@Binding var some: SomeType这个操作符只检测到变化
它从某个 SomeType 值变为 nil ,反之亦然。
但是对底层对象值的更改不会被检测为更改
例如。 @Binging var progress: Int?
将进度从 nil 更改为 100 检测更改
但是如果我将值从 1 -> 2 -> 3 更改,它们将被跳过
如果我使用@Binding var progress: Int,它会起作用
知道如何在 onChange() 中使用 Optionals 吗?
【问题讨论】:
-
在这里工作正常(如果将可选绑定到可选,则不允许将非可选直接绑定到可选)。你会提供可重现的演示代码吗?