跳转至

Moya

网络中间层

面向协议

只需要实现Moya协议,不直接操作网络库。完成网络配置信息。

Provider发起网络请求

网络请求数据转模型

/// 定义模型类
import Foundation
struct ReminderData: Codable {
    var data: [Reminder]
}
struct Reminder: Codable {
    var remindTxt: String = ""
    var remindTime: String = ""
    var enabled: Bool = false

    // 关键字“repeat”在这里不能用作标识符
        // 如果这个名字是不可避免的,使用反号转义
    var `repeat`: Bool = false

      //数组里面的元素也得是Codable
    var repeatWeekDays: Array? = [Int]()
    var reminderId: Int
}


/// 转模型
JSONDecoder().decode(ReminderData.self, from: r as! Data)

data转字典(数组等等)

JSONSerialization.jsonObject(with: data)