Марка DataType
соответствует Codable
. Это довольно просто, просто добавьте Codable
enum DataType : Int, Codable
{
case cloud = 1, files, googleDrive, mega, others // the consecutive raw values are inferred
}
let arrayOfData : [DataType] = [.cloud, .files, .mega]
Теперь закодируйте массив как данные JSON и сохраните его
let data = try! JSONEncoder().encode(arrayOfData)
UserDefaults.standard.set(data, forKey: "dataType")
И прочитайте его обратно соответственно
do {
if let data = UserDefaults.standard.data(forKey: "dataType") {
let array = try JSONDecoder().decode([DataType].self, from: data)
}
} catch { print(error)}