我相信我在 JSONDecoder 中发现了一个错误。如果尝试解码具有 8 个以上属性的 JSON 对象,我会收到一个无法识别的错误:
错误:执行被中断,原因:EXCBADACCESS(代码=1,地址=0xe8)。进程一直停留在被中断的地方,使用“线程返回-x”返回到表达式求值前的状态。
每当我执行类似于以下的代码时,就会发生此错误:
struct Objects: Codable {
var NAME1: String?
var NAME2: String?
var NAME3: String?
var NAME4: String?
var NAME5: String?
var NAME6: String?
var NAME7: String?
var NAME8: String?
var NAME9: String?
}
let NEWDATA = """
[
{
"NAME1": "hi",
"NAME2": "hi",
"NAME3": "hi",
"NAME4": "hi",
"NAME5": "hi",
"NAME6": "hi",
"NAME7": "hi",
"NAME8": "hi",
"NAME9": "HELLO"
}
]
""".data(using: .utf8)!
let decoder2 = JSONDecoder()
let product2 = try decoder2.decode([Objects].self, from: NEWDATA) …Run Code Online (Sandbox Code Playgroud)