You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI技术咨询:如何实现仅在网络断开时显示Alert弹窗,网络正常时不返回提示

解决SwiftUI网络状态Alert优化问题

我来帮你调整这段代码,让它只在网络未连接时弹出提示,网络正常时不显示任何弹窗。咱们一步步来修改:

关键修改点

  • 修正网络状态判断逻辑:原来的.onAppear里条件写反了,需要把网络断开的判断和弹窗触发对应起来
  • 简化Alert实现:移除成功提示的分支,只保留网络未连接时的弹窗内容

修改后的完整代码

.onAppear { 
    viewModel.updateData(baseCode: viewModel.baseCode) 
    // 只有网络未连接时,才触发弹窗
    showingAlert = !monitor.isConnected
}
.alert(isPresented: $showingAlert) {
    // 只保留网络未连接时的提示弹窗
    Alert(
        title: Text("Connect to Internet"),
        message: Text("Kindly Connect to internet to get the latest rates and use the application with accurate calculations"),
        dismissButton: .default(Text("Okay"))
    )
}

逻辑说明

  1. 在.onAppear中,我们直接将showingAlert设置为!monitor.isConnected——也就是网络断开时为true,触发弹窗;网络正常时为false,不触发任何弹窗。
  2. 简化后的.alert不再需要分支判断,因为showingAlert只有在网络断开时才会为true,所以只会展示网络未连接的提示内容,完全去掉了成功提示的逻辑。

内容的提问来源于stack exchange,提问作者Nursultan Yelemessov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 04:02:44