Ios 如何在Swift中更新属性时获得通知?
我有两个从API获取数据的异步方法。一个更新Ios 如何在Swift中更新属性时获得通知?,ios,swift,asynchronous,delegates,Ios,Swift,Asynchronous,Delegates,我有两个从API获取数据的异步方法。一个更新earthLocationData的属性,第二个使用earthLocationData的属性(imageURL)下载将保存在earthLocationData.image上的图像 下载图像后,我应该使用该图像更改imageView 我有以下代码: var earthLocationData: EarthLocationData? { didSet { self.imageView.image = earthLocationDat
earthLocationData
的属性,第二个使用earthLocationData
的属性(imageURL
)下载将保存在earthLocationData.image
上的图像
下载图像后,我应该使用该图像更改imageView
我有以下代码:
var earthLocationData: EarthLocationData? {
didSet {
self.imageView.image = earthLocationData!.image
}
}
但是它不起作用,因为earthLocationData.image
是以异步方式下载的
那么有没有办法在
earthLocationData.image
上使用didSet?如何下载earthLocationData.image
?请共享完整的代码。您可以使用委派模式,或为EarthLocationData
对象提供回调闭包,也可以使用NSNotification。如果EarthLocationData.image
加载到不同的线程,则回调将发生在同一个线程上。任何UI更新都需要在主线程上进行,因此将self.imageView.image
代码包装到DispatchQueue.main.async