我已经在SO和谷歌检查了答案,我很难过.
func saveAvailableWord(word: GameWord) { let gw = NSEntityDescription.insertNewObjectForEntityForName("GameWord",inManagedObjectContext: persistence.managedObjectContext!) as! NSManagedObject let rId = word.rowID gw.setValue(rId,forKey: "rowID") //*** Error line }
上面的代码用于核心数据,只是尝试创建一个对象.但我明白了
“Cannot invoke ‘setValue’ with an argument list of type ‘(Int64,forKey: String)’
在标记的行上. rowID定义为@NSManaged var rowID:Int64,因为它来自sqlite ROWID列.
如果我用简单的数字替换rId变量,则错误消失.我错过了什么?我究竟做错了什么?
感谢您的时间和帮助.