swift - 'NSInvalidArgumentException',原因 : '+entityForName: nil is not a legal

标签 swift core-data nsmanagedobject

 @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/

相关文章:

swift - 如何在应用程序处于后台或在quickblox中终止时实现CallKit?

swift - 在 WatchKit 中的接口(interface) Controller 之间传递数据

ios - 我可以快速从后台队列调用静态方法吗?

ios - "filename+CoreDataProperties.swift"和 "filename.swift"NSmanagedObject 子类有什么用?

ios - 在保留 NSManagedObject 的同时保持它的最新状态

arrays - 使用循环查找特定数组

swift - 在 NSTableView 中显示和使用核心数据

iphone - 将现有对象添加到核心数据?

ios - 将数据添加到 CoreData 需要很多时间

ios - 如何将数据保存到coreData