{"data":{"allPost":{"edges":[{"node":{"slug":"/post/2022/08/using-functional-binding-to-observe-in-swiftui-19a8","title":"在 SwiftUI 中使用函数式 Binding 实现观察者模式","subtitle":"","isPublished":true,"createdTime":"2022-08-19T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["SwiftUI","Binding","Swift","观察者模式"],"category":"编程","file":{"childMdx":{"excerpt":"故事 这周，我的同事问了我一个问题：在 SwiftUI 中怎么观察用户对  Picker  的选择行为？ 这是一个来自真实业务的问题，所以我觉得值得我花费时间去解决它。 范例代码如下所示，然后我的同事想观察用户对  Picker  候选项的选择行为。 分析 但是，「观察」本身的意义可能会随着上下文变动而变动： 它可以表示用户在  Picker  上放下手指的那一刻。 它可以表示用户在  Picker  上抬起手指的那一刻。 它可以表示  Picker  对  $selection  进行值变更的那一刻。 上述每一项都将导致不同的最终解决方案。 因为 SwiftUI 控件可以使用 style…"}}}},{"node":{"slug":"/post/2023/03/adapting-reference-semantics-model-in-swiftui-the-basics-f521","title":"在 SwiftUI 中适配引用语义模型 -- 基础篇","subtitle":"","isPublished":true,"createdTime":"2023-03-02T00:00:00.000Z","lastModifiedTime":null,"license":null,"tags":["SwiftUI","Swift","适配器模式","引用语义","Binding"],"category":"Programming","file":{"childMdx":{"excerpt":"介绍 最近，我的一位同事试图将引用语义模型用  ObservableObject  和  @StateObject  迁移到 SwiftUI。由于网上有很多关于用这种方式来迁移引用语义模型到 SwiftUI 的例子，在这篇文章中我不打算重点讨论这种方法的一般情况，而是想重点讨论在我和我的同事寻找答案使其代码正常工作的过程中发现的更有价值的三个话题。这些话题是： 在 SwiftUI 中真相源 (Source of Truth) 是什么？ 在 SwiftUI…"}}}}]}},"pageContext":{"slug":"/zh-Hans/tag/binding","locale":{"identifier":"zh-Hans","slug":"/zh-Hans"},"title":"Tags > Binding","showsPageTitle":true,"keywords":["WeZZard","Pieces of My Soul"],"description":"","items":["50422053-00c8-522e-a118-2c12b7f4d13f","5c75555f-38a8-50fe-b14c-454701f208be"],"paginationInfo":{"basePath":"/zh-Hans/tag/binding","pageIndex":0,"pagesCount":1,"previousPageTitle":"Earlier Posts","nextPageTitle":"Later Posts"}}}