
Swift
使用 Swift 开发 IOS 应用程序时,我们经常需要保存自定义类的数组。这种情况下,我们需要找到一种方法来将这些自定义对象保存到数组中,并且能够在需要时读取和使用它们。本文将介绍一种简单而有效的方法来实现这一目标。
保存自定义类的数组的方法要保存自定义类的数组,我们可以借助 Swift 中的 Codable 协议。Codable 协议是 Swift 4 中引入的一个协议,它可以将自定义的数据类型编码为 JSON 或者其他格式,以便于存储和传输。通过遵守 Codable 协议,我们可以方便地将自定义类的实例转换为可存储的数据,并将其保存到数组中。下面是一个简单的示例,演示了如何保存自定义类的数组:Swiftclass Person: Codable { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age }}// 创建自定义类的实例let person1 = Person(name: "John", age: 25)let person2 = Person(name: "Sarah", age: 30)let person3 = Person(name: "Mike", age: 35)// 将实例保存到数组中var persons = [person1, person2, person3]// 将数组编码为 JSON 数据let JSonEncoder = JSONEncoder()if let JSonData = try? JSonEncoder.encode(persons) { // 将 JSON 数据保存到文件中 if let JSonString = String(data: JSonData, encoding: .utf8) { // 将 JSonString 保存到文件或者其他地方 print(JSonString) }}在上面的示例中,我们创建了一个名为 Person 的自定义类,该类遵守了 Codable 协议。然后,我们创建了几个 Person 类的实例,并将它们保存到一个名为 persons 的数组中。接下来,我们使用 JSONEncoder 将数组编码为 JSON 数据。通过将 JSON 数据转换为字符串,我们可以将其保存到文件或者其他地方以供以后使用。读取保存的自定义类数组当我们需要读取保存的自定义类数组时,我们可以使用 JSONDecoder 解码 JSON 数据并还原为原始的自定义类实例。下面是一个简单的示例:Swift// 假设 JSon 是保存的 JSON 数据let JSonString = """[ { "name": "John", "age": 25 }, { "name": "Sarah", "age": 30 }, { "name": "Mike", "age": 35 }]"""// 将 JSON 字符串转换为 JSON 数据if let JSonData = JSonString.data(using: .utf8) { let JSonDecoder = JSONDecoder() if let decodedPersons = try? JSonDecoder.decode([Person].self, from: JSonData) { // 使用还原的自定义类数组 for person in decodedPersons { print(person.name) print(person.age) } }}上面的示例中,我们假设 JSonString 是保存的 JSON 数据。我们将 JSON 字符串转换为 JSON 数据,并使用 JSONDecoder 将数据解码为 Person 类型的数组。然后,我们可以遍历数组并访问每个还原的 Person 对象的属性。在本文中,我们介绍了一种保存自定义类的数组的方法。通过遵守 Codable 协议,我们可以方便地将自定义类的实例转换为可存储的数据,并将其保存到数组中。使用 JSONEncoder 和 JSONDecoder,我们可以将数组编码为 JSON 数据并解码为原始的自定义类实例。这种方法简单而有效,可以帮助我们在 IOS 开发中保存和读取自定义类的数组。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号