我有一个具有note属性的Folder实体和Planner实体,它们具有“一对一”关系。我试图为每个文件夹添加一个默认的计划程序,并为note属性值保存一些默认的文本。

因此,基本上,在创建文件夹后,点击该文件夹应打开注释以进行编辑和保存。但我似乎无法在创建新文件夹时添加默认计划程序。我不确定我要去哪里,目前尝试显示folder.planner.note会导致崩溃-没有错误,这意味着文件夹没有计划程序。

[更新]最初,我没有在文件夹和计划器之间创建关系。这样做之后发生了另一个错误,因此帖子已移动。

这是创建文件夹时的代码:

 //Add new folder
 //Get the context
     let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
 //get entity details
     let entity = NSEntityDescription.entityForName("Folder", inManagedObjectContext: moc!)
 //Create the managed object to be inserted
     let folder = Folder(entity: entity!, insertIntoManagedObjectContext: moc!)

        //Error
         var error: NSError?
            if moc!.save(nil){}

        //Storing Data
        folder.title = folderName.text
        folder.details = folderDetails.text
        folder.date = folderDate.date

        //Add Default Planner Note to Folder

        //Get entity details
        let entityPlanner = NSEntityDescription.entityForName("Planner", inManagedObjectContext: moc!)

        //Create the managed object to be inserted
        let planner = Planner(entity: entityPlanner!, insertIntoManagedObjectContext: moc!)

        //Add Text

        planner.notes = "Default text"

        //add planner to folder just added

        folder.planner = planner

        //Insert the new note into the folder planner

        var folderPlanner = folder.planner
        folderPlanner.notes = planner.notes

    moc?.save(&error)

最佳答案

您尚未在folderplanner之间设置关系
宾语。您必须设置

folder.planner = planner


要么

planner.folder = folder

07-28 02:36
查看更多