我有一个具有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)
最佳答案
您尚未在folder
和planner
之间设置关系
宾语。您必须设置
folder.planner = planner
要么
planner.folder = folder