Swiftui 如何在多个AlertSounds完成之前显示工作表?

Swiftui 如何在多个AlertSounds完成之前显示工作表?,swiftui,Swiftui,我目前正在使用SwiftUI开发一个应用程序 我想在警报响起之前显示一张工作表,并使用sleep和for循环多次完成 在我的代码中,该工作表在警报声音播放完毕后显示 我怎么能这样做 代码如下: import SwiftUI import AudioToolbox struct ContentView: View { @State var isSheet = false var body: some View { VStack{

我目前正在使用SwiftUI开发一个应用程序

我想在警报响起之前显示一张工作表,并使用
sleep
for
循环多次完成

在我的代码中,该工作表在警报声音播放完毕后显示

我怎么能这样做


代码如下:

import SwiftUI
import AudioToolbox

struct ContentView: View {
    
    @State var isSheet = false
    
    var body: some View {
        VStack{
            Text("SOUND and OPEN SHEET")
                .padding()
        }
        .onTapGesture {
            isSheet.toggle()
            for _ in 1...2{
                AudioServicesPlayAlertSoundWithCompletion(1151,nil)
                sleep(2)
            }
        }
        .sheet(isPresented: $isSheet){
            Sheet()
        }
    }
}

struct Sheet: View {
    
    var body: some View {
        Text("Sheet")
            .padding()
        
    }
}

在背景中播放声音,如

    .onTapGesture {
        isSheet.toggle()
        DispatchQueue.global(qos: .background).async {      // << this !!
            for _ in 1...2{
                AudioServicesPlayAlertSoundWithCompletion(1151,nil)
                sleep(2)
            }
        }
    }
.ontaps手势{
isSheet.toggle()
DispatchQueue.global(qos:.background).async{//