У меня есть собственная структура, которая имеет свойства типов, которые являются другими структурами с некодируемыми типами. Это сложное дерево структур внутри структур, и мне нужно преобразовать его в данные, чтобы я мог сохранить его.
Мне нужно сохранить эту структуру (чат)
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?
}
Является ли сериализация лучшим способом, как в этом посте? Свифт переходит на NSData и обратно
Я пытался соответствовать Codable, но он выдает ошибку, говоря, что он не соответствует, что ожидается из-за типов.