肇鑫的技术博客

业精于勤,荒于嬉

iCloud Key-Value同步nil值后,再次同步会出错问题的绕过

这个问题我已经向苹果报告了。FB13171112

具体的内容可以看我的这篇推文

临时的解决办法,就是不直接使用nil,而是把它封装起来。

// 之前
var foo:Int? = nil
// 现在
struct Bar:Codable {
    var foo:Int? = nil
}

这样就能避免直接使用nil了。缺点就是需要将它转换成Data再同步,多了几步。不过如果使用第三方框架的话,步骤其实不用多,第三方框架已经写好了。