我有一个自定义结构,该结构的类型属性与其他具有不可编码类型的结构相同。这是结构中复杂的结构树,我需要将其转换为数据,以便保存。
我需要保存此结构(聊天)
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,但给出错误提示说它不符合,这是由于类型引起的。