首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON编码NSObject不是结构体?

JSON编码NSObject不是结构体?
EN

Stack Overflow用户
提问于 2017-09-27 02:13:05
回答 1查看 511关注 0票数 0

我有一个NSObject类

代码语言:javascript
复制
class InventPricing: NSObject {  
    var quantity:  NSNumber = NSNumber(value: 00.00)
    var cost:      NSNumber = NSNumber(value: 00.00)
    var total:     NSNumber = NSNumber(value: 00.00)
}

,它被保存为数组。

代码语言:javascript
复制
let prices = [InventPricing]()

尝试将数组编码为JSON字符串

代码语言:javascript
复制
 print("Insert Inv   List 1                \(prices)   ")
 let encoder = JSONEncoder()
 encoder.outputFormatting = .prettyPrinted
 let info = try! encoder.encode(prices)
 print("Insert Inv   List 1                \(info  )   ")
 let str  = String(data: info, encoding: .utf8)!
 print("Insert Inv   List 1                \(str   )   ")

在encoder.encode(价格)行上获取错误

致命错误:数组不符合可编码的,因为InventPricing不符合可编码的:

我所能找到的只是编码一个结构,而不是一个NSObject类

请帮帮我!提前感谢

EN

回答 1

Stack Overflow用户

发布于 2017-09-27 02:35:19

对于类和结构,这个过程实际上是相同的,当前的模式是通过…对数据模型使用结构

你只需要遵守协议:

代码语言:javascript
复制
class InventPricing: NSObject, Encodable {  …

如果您想以两种方式进行转换:

代码语言:javascript
复制
class InventPricing: NSObject, Codable {  …

有关更多信息,请访问the documentation。它在所有的示例中都使用了structs,但它从来没有说过它只在structs上工作,并使用了术语“type”,它可以是一个struct或class。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46433190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档