在SwiftUI中,管理应用的音效是一个常见且重要的任务。今天我们将探讨如何在一个SwiftUI应用中使用@Observable来管理音效开关,以及如何在多个视图之间共享状态。
背景介绍
假设我们正在开发一个应用,其中包含一个全局的音效开关,用于控制是否在执行特定操作时播放确认音调。该开关的状态需要在应用的多个地方被访问和修改,因此我们选择使用一个中央管理类SoundManager。
问题描述
在将原有的ObservableObject更新为@Observable时,出现了在UtilView中无法访问$sound的错误。即使尝试移除美元符号或者使用.wrappedValue等方法,依然无法解决问题。
解决方案
1. 初始化SoundManager
首先,我们在ContentView中初始化SoundManager并将其注入到环境中:
struct ContentView
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



