之前的文章中我们简单的聊了swiftUI 的一点入门知识然后一直放值了这么旧,最近随着Xcode 11的正式推出,也代表这swiftUI正式的进入生产阶段。但是,依然限制很大---只能使用在iOS13/macOS10.15/iPadOS以及以后的版本。不过作为开人员,我们还是需要未雨绸缪提前的完成swiftUI的技能获取
我们先看一个官方给的例子
、
代码如下
这是一个简单的图文cell,然而我们看到此时加载的图片数据是bundle到项目中的固定数据,那么怎么加载网络数据呢?
在说加载网络数据之前我们xian来看看Image在swiftUI中的定义
从官方文档中我们看到Image是个struct而并不是一个UIVIew,同时能在swiftUI的struct申明中根本无法夹杂网络判断等操作,那么怎么做呢?
UIViewRepresentable来啦
从定义中我们可以给我们提供了一个关联类型代表我们需要管理的UIView,这也是我们目前接触到的第一个可以直接封装操作UIKit的地方。从给出的方法我们可以看出,这个协议主要做两件事情
通过funcmakeUIView(context:Self.Context)->Self.UIViewType创建一个需要管理的UIView
funcupdateUIView(_uiView:Self.UIViewType, context:Self.Context)对创建出的UIVIew进行操作更新,比如我们需要的绑定网络图片数据
下面我们看看怎么操作吧
当然了有些数据为了方便我们是写死的,但是总体来说网络图片的数据是活用的,大家在学习的过程中找到不带如何加载网络数据的时候可以做个参考
领取专属 10元无门槛券
私享最新 技术干货