您好,我从Big Nerd Ranch的书中学习了iOS开发,我按照书指南学习了如何从网络上处理数据。现在,我想在自己的应用程序中实现它,但是由于这本书只显示了如何处理图像数据。我不仅要处理图像数据,还要处理字符串数据(这是我模型的标题),我已经尝试使枚举变成通用的,以便它可以返回任何类型。这是我的代码
这是我更改为通用名称之前的枚举
imp.get_suffixes()
这是我转换为泛型之后的枚举
enum ImagesResult {
case success(UIImage)
case failure(Error)
}
这是fetchImageData函数
enum Results<Value> {
case success(Value)
case failure(Error)
}
在已经存储在结果常量中的会话数据任务之后,如何添加字符串和图像以传递到文本标签中
答案 0 :(得分:1)
枚举结果已经存在,“一个代表成功或失败的值,在每种情况下都包括一个关联的值。”。您可以创建自己的错误枚举以匹配所有错误情况,如下所示:
enum MyErrorEnum: Error {
case myerror1
case myerror2(String)
var errorDescription: String {
switch self {
case .myerror1:
return "Error: Error 1 description."
case .myerror2(let error):
return error
}
}
}
您的完成处理程序中的结果将是:
completion: @escaping (Result<(UIImage, String), MyErrorEnum>)
为了让您返回图像和标题