云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_阿里云服务器好吗_好用

小七 141 0

网络建站_关于_大数据趋势分析

iOS版本5.1.2的SCP SDK在SAPFoundation框架上引入了2个新的API,将发布者与URLSession结合起来。

我将向您展示如何使用这些新的API从您的后端下载图像(也指媒体类型或流)。

先决条件:

一个SAP网关服务,其中一个媒体实体公开一个图像

让我们开始吧!

首先,我们将在SAPURLSession上创建一个扩展,这个扩展可以在这里下载:

让我们在扩展内定义我们自己的API错误

requestFailed错误是Apple URLSession API错误(示例包括URI错误的请求、请求超时、,无网络….)

重定向错误适用于所有HTTP 3XX

客户端错误适用于所有HTTP 4XX

服务器错误适用于所有HTTP 5XX

初始值设定项将常规swift错误向下转换为此错误类型,这是因为在Swift中抛出一个错误时,我们丢失了它的类型

这是一个非常简单的错误映射,但是请注意,对于4XX客户端错误,我们正在解码响应…

SAP Gateway提供了有关错误的附加信息,云是什么,通常对于http400或404,您的后端开发人员会在这种情况下引发异常一个错误,我们需要能够解码的响应得到这个文本

如何在ABAP引发异常返回HTTP 404(未找到)

SAP网关错误负载的结构总是一样的,你需要这个结构声明添加到你的项目,请从这里下载

SAPURLSession可以从会话管理器持有的您的入职会话访问,会话管理器可以从共享单例或您的应用程序代理访问。

示例:

您需要先检索后端URL,个人免费云服务器,然后附加您的服务目的地名称和端点路径

示例:

您可以直接在OnboardingSession中完成,大数据 数据分析,也可以作为OnbardingSessionManager类本身的扩展

从OnbardingSessionManager类的扩展下载文章图像的示例

如果您正在从表视图或集合视图控制器下载多个图像,您可能对每个下载图像的错误不感兴趣,我们可以用占位符图像替换错误,并根据管道中发生的情况创建副作用。我们将使用handleEvents操作符来记录失败的请求。

您可以使用共享的singleton访问会话管理器,并按如下方式调用您的API:

如果您需要缓存图像以进行脱机操作,或者您希望避免频繁重新下载相同的图像,您可以将图像保存在磁盘上,并拥有自己的清除机制,但我发现在SAP Gateway服务上更容易控制缓存。

假设您希望在iOS设备上将图像缓存1天…

在SAP Gateway中,您将重新定义服务/iwbep/if\ mgw\ u appl\ u srv\ u runtime~ get\ u stream方法并在服务器上设置缓存策略响应导出参数

然后您可以调用我们刚刚在脱机模式下创建的同一个getImage API,它将从URLSession本地缓存返回您的图像。

在SAPURLError上创建扩展,物联网管理平台,遵守LocalizedError协议并定义您自己的错误消息。第一个GIST链接上有一个例子。

对于UIKit应用程序开发,您可以通过调用sink方法订阅此API,但不要忘记保留订阅的引用。

对于SwiftUI,您可以将此发布者封装在视图模型类(符合可观察协议)中,秒单客返利机器人,下载图像并将其分配给发布属性

或者您可以在您的SwiftUI视图中直接持有发布者,使用视图修改器OnReceive,订阅并接收下载的图片