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

SwiftUI中onAppear方法未执行导致API请求失败及数组访问崩溃问题求助

SwiftUI中onAppear方法未执行导致API请求失败及数组访问崩溃问题求助

各位SwiftUI大佬好,我最近在做一个获取天气API数据并展示的小项目,遇到了个卡壳的问题,想请大家帮忙分析下:

我的需求很简单,就是从指定站点获取API数据,然后在ContentView里展示出来。但现在的问题是,我绑定在List上的onAppear方法里的API请求函数根本没执行,导致我访问存储数据的数组时,因为数组为nil直接崩溃了。

下面是我的代码片段:

var body: some View {
    Color.pink.opacity(0.2)
    List(weatherFetcher.weathers.first!.response.body.items.item, id: \.id) { weather in
        VStack(alignment: .leading) {
            Text(weather.category)
                .font(.headline)
            Text(weather.fcstValue)
                .font(.subheadline)
        }
    }
    .onAppear {
        weatherFetcher.fetchWeathers() // 这里打了断点
        print("Pass")
    }
}

我尝试在fetchWeathers()这里打了断点调试,但调试的时候编译器直接跳过了这一行;我还加了print语句,控制台里也完全没出现"Pass"这个输出。我现在有点懵,难道onAppear方法不是在List出现之前执行的吗?有没有大佬能帮我找找问题出在哪?

备注:内容来源于stack exchange,提问作者lake

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:04:33