我目前正在开发一个带有“LoginViewController”的Swift应用程序。当用户进行身份验证时,应用程序将在具有4个选项卡的UITabBarController上运行。
在第四个标签中,我必须在UIImageView中从Internet加载图像。我希望在到达第一个选项卡时加载该图像,因为当我单击第四个选项卡时加载此图像会有延迟。
加载此图像的代码位于与第四个选项卡关联的第四个ViewController的viewDidLoad()中。在我转到第四个标签之前有没有办法加载这个图像?
也许在第一个标签的viewDidLoad中?或者在UITabBarViewController的viewDidLoad中?
我已经检查了此链接,但无法使其正常工作:How to load all views in UITabBarController?
答案 0 :(得分:2)
我认为最好的方法是隔离下载图像的代码,将class func downloadFourthTabImage
类作为类方法{{1}}然后在用户完成登录时调用此方法首先在标签视图控制器中加载。
这同样适用于您需要为其他视图控制器加载的所有数据。
注意请务必在后台队列中下载图像以防止冻结用户界面。
答案 1 :(得分:1)
最好在Service/Network layer instead of UI Layer
上下载图片,当您登陆第4个标签页时,可以使用imageWithContentOfFile
方法显示图片。