Ios 核心数据-属性的值类型不可接受
我正试图保存到我的核心数据,就像我以前做过一千次一样,突然这个错误出现了 “NSInvalidArgumentException”,原因:“的值类型不可接受” 属性:property=messageType;所需类型=编号;鉴于 类型=DemoApp.SendMessageViewController;价值观= DemoApp.SendMessageViewController' 这毫无意义,因为属性被定义为double,我肯定给它一个NSNumber。我的代码如下所示:Ios 核心数据-属性的值类型不可接受,ios,xcode,validation,swift,core-data,Ios,Xcode,Validation,Swift,Core Data,我正试图保存到我的核心数据,就像我以前做过一千次一样,突然这个错误出现了 “NSInvalidArgumentException”,原因:“的值类型不可接受” 属性:property=messageType;所需类型=编号;鉴于 类型=DemoApp.SendMessageViewController;价值观= DemoApp.SendMessageViewController' 这毫无意义,因为属性被定义为double,我肯定给它一个NSNumber。我的代码如下所示: let
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let contxt: NSManagedObjectContext = appDel.managedObjectContext!
let en = NSEntityDescription.entityForName("Message", inManagedObjectContext: contxt)
var newMessage = Message(entity: en!, insertIntoManagedObjectContext: contxt)
newMessage.receiver = receiver
newMessage.sender = PFUser.currentUser().username
newMessage.readByReceiver = false
newMessage.readBySender = false
newMessage.dateSent = NSDate()
if memberMessage{
newMessage.messType = 2
}else{
newMessage.messType = 0
}
contxt.save(nil)
任何关于为什么会发生这种情况的建议都将不胜感激,正如我已经说过的,我以前使用过这段代码,它应该可以工作
编辑:我的消息类
@objc(Message)
class Message: NSManagedObject {
@NSManaged var dateSent: NSDate
@NSManaged var messType: Double
@NSManaged var revealingMessage: Bool
@NSManaged var receiver: String
@NSManaged var sender: String
@NSManaged var readByReceiver: Bool
@NSManaged var readBySender: Bool
}
请向我们展示您的消息类。@c0dev最近的代码现在已经添加了吗?因为messType在错误消息中称为“messageType”。确保它的命名方式与CoreDataModel中的命名方式相同。@c0dev哦,是的,我试图用另一个名称删除并重新添加该属性,我只做了这些更改,其他一切都是一样的。在重做所有操作之前,只需清理项目并将其从iOS模拟器中删除即可。这通常是有帮助的,因为有时它有点问题。