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
相关产品推荐
相关产品推荐

