Попробуйте использовать realm.io
Если вы хотите согласовать как декодируемый, так и объект области для создания объекта на диске, вы можете сделать это следующим образом
import RealmSwift
class Restaurant: Object, Decodable {
@objc dynamic var name: String?
private enum CodingKeys: String, CodingKey { case name}
convenience init( name: String?){
self.init()
self.name = name
}
convenience required init(from decoder: Decoder) throws {
self.init()
let container = try decoder.container(keyedBy: CodingKeys.self)
self.name = try container.decode(String.self, forKey: .name)
}
}
func saveToDisk(){
let realm = try! Realm()
try! realm.write {
realm.add(restaurant)
}
}
Вы можете адаптировать его для сохранения массива Restaurant Object
Вы можете использовать другие методы:
CoreData
Using a file
UserDefaults(too slow and not for large amount of data)