Ios 可编码所有密钥解码为可选,但不是可选
Codable易于使用,不需要编写太多相同的代码 但是当我在更新应用程序后使用addnewvariable到Codable时 JSONDecoder抛出KeyNotFoundError 如果我将declear变量作为可选变量,它将不会抛出KeyNotFoundError 但任何东西都是可选的,不好用 如何将解码策略更改为“如果键不存在,则忽略变量”,并且每个变量都不是可选的,并且不为decodeIfPresent()写入echo变量Ios 可编码所有密钥解码为可选,但不是可选,ios,json,swift4,codable,Ios,Json,Swift4,Codable,Codable易于使用,不需要编写太多相同的代码 但是当我在更新应用程序后使用addnewvariable到Codable时 JSONDecoder抛出KeyNotFoundError 如果我将declear变量作为可选变量,它将不会抛出KeyNotFoundError 但任何东西都是可选的,不好用 如何将解码策略更改为“如果键不存在,则忽略变量”,并且每个变量都不是可选的,并且不为decodeIfPresent()写入echo变量 在初始化类时忽略非可选变量在术语上是矛盾的。非可选变量必须获得
在初始化类时忽略非可选变量在术语上是矛盾的。非可选变量必须获得初始值。为了处理不同的情况,我建议编写一个自定义初始值设定项。或者检查应用程序版本并解码到不同的结构/类中。T.T这是可编码的唯一方法,————————————————————看起来我必须为每个变量编写自定义解码器。如果密钥不存在,则可选使用是正确的方法。
class Student: Coadable {
var name:String = "TheDefaultIWent" ;
...ManyVarsInThisClass...
}