@IBAction func CreateButton(_ sender: AnyObject) {
let appDelegate = (UIApplication.shared.delegate as! AppDelegate)
let managedContext =
appDelegate.persistentContainer.viewContext
let entity =
NSEntityDescription.entity(forEntityName: "EventData",
in: managedContext)!
let newEvent = NSManagedObject(entity: entity,
insertInto: managedContext)
newEvent.setValue( Venuetextfield.text!, forKey: "eventVenue")
newEvent.setValue(Titletextfield.text!, forKey: "eventTitle")
newEvent.setValue(Descriptiontextfield.text!, forKey: "eventDescription")
newEvent.setValue(Datetime, forKey: "eventDateTime")
// sending data to coredata.
(UIApplication.shared.delegate as! AppDelegate).saveContext()
let _ = navigationController?.popViewController(animated: true)
}
嘿,大家好,我怎样才能使entityForName不为nil,其中NSManagedObject也在搜索实体名称?
我还创建了一个包含所有实体属性的 NSMangedObject 类。
我需要链接我的 Model.xcdatamodel id 文件来查看 Controller 类吗?
最佳答案
你应该这样做,
let categoryMaster = NSEntityDescription.insertNewObject(forEntityName: "entity Name", into: managedContext) as! CategoryMaster //Here CategoryMaster is entity class which is the sub class of NSManageObject
categoryMaster.categoryId = NSNumber.init(value: 1)
categoryMaster.categoryIndent = NSNumber.init(value: 2)
categoryMaster.categoryName = textFields.text
categoryMaster.parentCategory = currentCategory.categoryId
categoryMaster.categoryIndex = NSNumber.init(value: 0)
guard (try? managedContext.save()) != nil else
{
fatalError("Something went wrong")
}
您可以查看整个教程here
注意:这只是如何使用核心数据的示例,您可能会发现一些语法错误
关于swift - 'NSInvalidArgumentException',原因 : '+entityForName: nil is not a legal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48285673/