struct TestData: Codable {
var text: String
var num: Float
var arr: [Int]
}
let data = TestData(text: "Hello",
num: 3.14, arr: [2, 5, 7])
let path = FileManager.default.urls(
for: .documentDirectory,
in: .userDomainMask).first!
.appendingPathComponent("file.bin")
//Write Binary Data
let encoder = PropertyListEncoder()
encoder.outputFormat = .binary
let data_b = try! encoder.encode(data)
try? data_b.write(to: path)
//Read Binary Data
let data_b2 = try! Data(contentsOf: path)
let decoder = PropertyListDecoder()
let data2 = try! decoder.decode(
TestData.self, from: data_b2)
print("data2 is \(data2)")