我一直在测试主要使用iPhone 6,6加和iPad.刚刚在iPhone 5模拟器上试用了我的应用程序,并获得了Core Data错误.
CoreData: error: Property ‘setId:’ is a scalar type on class ‘AppName.EntityName’ that does not match its Entity’s property’s scalar type. Dynamically generated accessors do not support implicit type coercion. Cannot generate a setter method for it
现在,我的应用程序中没有’setId’对象,但是当然这个实体有一个’ID’对象,它被设置为一个int.
class Entity: NSManagedObject { @NSManaged var id: Int }
在Core Data模型中,属性类型设置为Integer64.这可能是我的问题,因为我选择了,不知道什么是最好的.我在模型和类中有其他属性,但它们都是字符串.
寻找一个修复和解释为什么这只发生在一些设备上,所以我可以学习!
解决方法
如果Core Data类型为Integer 64,那么您应该将属性声明为Int64(或者让Xcode创建托管对象子类).
Int可以是32位或64位,具体取决于处理器架构.
或者,将属性定义为NSNumber *,而不是标量属性.当然,您必须注意在32位平台上的值不会超出Int的范围.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。