【发布时间】:2020-11-27 17:15:25
【问题描述】:
我有一个核心数据实体,其属性 id 为 String 类型
当试图从键路径中引用该属性时,它会引发错误
let path = #keyPath(User.id) //Ambiguous reference to member 'id'
codegen 设置为 Class Definition。
我尝试检查该类的生成文件,发现实体类现在确认为Identifiable,这需要id
我注意到将部署目标设置为低于 iOS 13 的任何版本都可以解决问题(但我不想这样做)
Xcode 版本 12.0 beta 4 (12A8179i)
有没有办法在不禁用代码生成或更改部署目标的情况下解决此问题?
【问题讨论】:
-
在稳定版本的 Xcode 上试一下,在目标是 iOS 13 并且 Xcode 是 11.6 时,我在一个符合 Identifiable 的类似实体类上执行上述操作没有问题
-
但如果我使用 Xcode 11(当前稳定版),那么我将无法为 iOS 14(测试版)进行开发
-
我没有告诉你切换,而是测试它是否适用于 Xcode 11,因为那样你就会知道这是因为 Xcode 但如果它也不能在 Xcode 11 上运行,那么它就是用你的代码。对问题进行故障排除以查找原因。
-
是的,我完全理解我只是解释了为什么我需要它在 Xcode 12 上工作或替代它在 Xcode beta 3 上的工作方式而不是在 beta 4 上工作
标签: ios swift core-data codegen xcode12