从模型中的 json 数据转换日期格式,然后传递给控制器

Convert date format from json data in the model and then pass to controller

在我的模型中,我有一些结构来处理来自服务器的数据

struct Articles: Decodable {
var content : [ArticleData]

}

struct ArticleData: Decodable {
var title: String
var date_time: Date
var image: String
}

从 jason 那里,我得到了一个约会,是这样的:

 "date_time": 1524842056.035,

第一个问题: 我在模型 Date 中设置了这种类型,如您在 ArticleData 中所见,正确吗?

然后我在模型中读到这个 ​​json 是这样的:

  guard let json = try? JSONDecoder().decode(Articles.self, from: data!) else {
   completion(.failure(loginError.networkError))
                return
            }

    completion(.success(json.content))

如您所见,我从服务器 json.content 获得了一个包含标题、date_time 和图像的数组。我想在模型中转换它并将 completion 中的所有内容传递给控制器​​。 你能帮我吗?

谢谢 :)

您可以为日期使用类型 'String',然后使用 dateFormatter 转换它,或者在解码器中使用 'dateDecodingStrategy' 函数。 为了传递数据,您已经在做正确的事情。无论你在哪里调用方法,你都可以获得模型。