提升天气应用与构建类 Instagram 应用的全流程指南
1. 天气应用的初步优化
在开发天气应用时,我们需要更新 UI 以显示从 API 获取的天气数据。以下是更新 UI 的辅助函数:
func updateUI(city aCity:City, forecast:WeatherResponse) {
city.text = aCity.name
if forecast.weather.count > 0 {
cityWeather.text = forecast.weather[0].description ?? "???"
}
temperature.text = String(format: "%.0f",
forecast.forecast.temperature)
}
在应用开发的早期阶段,我们实现了简单的错误处理,只是在控制台打印错误信息。随着开发的推进,我们需要更好的错误处理方式并将信息呈现给用户。
当从 API 获得有效响应时,由于响应处理程序在后台线程中调用,而更新 UI 必须在主线程中进行,因此要使用以下代码:
DispatchQueue.main.async { [weak self] in
//code that will be executed on main thread
}
使用 [weak self] 可以避免代码块中出现循环引用
超级会员免费看
订阅专栏 解锁全文
1209

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



