如何将自定义对象转换为Data Swift

时间:2018-07-06 13:15:32

标签: swift codable

我有一个自定义结构,该结构的类型属性与其他具有不可编码类型的结构相同。这是结构中复杂的结构树,我需要将其转换为数据,以便保存。

我需要保存此结构(聊天)

struct Chat{
    var dictOfRecentMessages:[String:Message] = [:]
    var matchPicture:UIImage? 
    var metadata:JSON?
}

    struct Message{
        let messageID:String
        var chatID:String
        let whoSent:String
        let timeTriedToSend:Int


        var messageString:String?
        var image:ImageMessage?
        var video:VideoMessage?
        var location:LocationMessage?
        let status:String 

    }

struct ImageMessage{
    var uiImage:UIImage?
    var imageURL:String?
    var imageSize:CGSize?
}
struct VideoMessage{
    var video:NSURL?
    var videoURL:String?
}
struct LocationMessage{
    var clLocation:CLLocation?
    var mapCamera:MKMapCamera?
    var mapSnapshot:MKMapSnapshot?
}

像这篇文章一样,序列化是最好的方法吗? Swift structs to NSData and back

我尝试符合Codable,但给出错误提示说它不符合,这是由于类型引起的。

0 个答案:

没有答案
相关问题