7得票1回答
Swift 4 Codable - 布尔或字符串值

希望能够得到一些关于如何处理最近遇到的场景的建议。 我一直在成功地使用Swift 4的Codable,但今天注意到了一个我没有预料到的崩溃。我正在使用的API表示,它会返回一个名为manage_stock的键的boolean。 我的存根结构看起来像: struct Product: Co...

58得票13回答
如何在可编码类型中使用Any

我目前在我的项目中使用 Codable 类型并遇到了一个问题。 struct Person: Codable { var id: Any } 在上面的代码中,id 可以是 String 或 Int。这就是为什么 id 是 Any 类型的原因。 我知道 Any 不是 Codable。...

10得票1回答
如何在Swift中处理一个键可能有两种类型的解码?

我有一个Codable结构体,用来解码传入的JSON。不幸的是,有时其中一个键的值是字符串,有时它是浮点数。我能够拼凑出下面的一些do/try/catch块来让它工作,但是有没有更好的方法来处理这个问题呢?struct Project: Codable { public let ver...

8得票1回答
类型不符合协议"Encodable"。

我有一个名为“事件”的类,我想让它成为可编码类型 (Codable): class Event: Codable { let name: String let action: String let data: [String: Any]? enum Codi...

17得票4回答
如何将ObservableObject符合Codable协议?

在SwiftUI beta 5中,苹果公司引入了@Published注释。目前这个类无法符合Codable协议。我要如何符合这些协议,以便可以将这个类编码和解码为JSON?您现在可以忽略图像属性。 class Meal: ObservableObject, Identifiable, Cod...

10得票1回答
如何使用Data和Codable在Swift中优化NSAttributedString的存储?

我正在尝试优化存储空间以保存NSTextView的内容,即其NSTextStorage属性,它本身是一个NSAttributedString。例如,使用rtfd(from:documentAttributes:)方法将其保存为Data并作为Codable结构的一部分会导致非常大的字符串,比内容...

13得票1回答
忽略Codable对象中非可编码可选属性。

在遵循 Codable 协议时,我无法轻松地跳过非 Codable 类的可选属性。 在Ride结构体中,我们希望跳过driver属性的编码和解码,并在解码时将其保留为nil: struct Ride: Codable { public var number: String ...

48得票10回答
如何在 JSON string 中使用多种日期格式来解析 JSONDecoder?(Swift 的问题)

JSONDecoder提供了dateDecodingStrategy属性,允许我们根据DateFormatter对象定义如何解释传入的日期字符串。 然而,我目前正在使用一个API,该API根据属性返回日期字符串(yyyy-MM-dd)和日期时间字符串(yyyy-MM-dd HH:mm:ss)...

21得票3回答
在Swift中解码失败时打印DecodingError详细信息

我开始重写一个应用程序,并希望使用Swift 4的可编码协议将json字符串自动转换为对象和结构体。 有时,在编写代码的早期阶段,可能会遇到解码问题,因此我想在一些bean没有正确解码的情况下打印这些错误(而不总是使用调试器)。 问题在于: 可以看到,在调试器中,“decodingE...

22得票1回答
在Swift中,使用`convertFromSnakeCase`策略无法与自定义的`CodingKeys`配合使用。

我尝试使用Swift 4.1的新功能,在JSON解码期间将蛇形命名转换为驼峰式。 这里是示例:struct StudentInfo: Decodable { internal let studentID: String internal let name: String ...