
我们在使用Xcode编辑CoreData对象属性的时候,常常会发现两个貌似无需修改的选项:Optional 和 Default Value

不过,小伙伴们真的了解这两个属性如果保持默认状态(即Optional选中,Default值不选),在某些情况下会完全改变App对CoreData数据库内容的认知吗?
如果你的App数据库查询语句看似“绝对”正确,但查询结果却出乎意料时,有可能是掉入了上面选项的坑。
废话少叙,让我们立即开始填坑行动吧。
Let’s fix it! 😉
考虑如下场景,你的App在1.0版本时,BallBucket托管对象结构如下:
extension BallBucket {
@nonobjc