我有一个文件夹实体和一个带有note属性的 Planner 实体,它们具有To One关系。我正在尝试为每个文件夹添加默认计划程序,并为note属性值保存一些默认文本。
所以基本上在创建文件夹后,点击它应该打开要编辑和保存的注释。但在创建新文件夹时,我似乎无法添加默认计划程序。我不确定我哪里出错了,此刻试图显示folder.planner.note
导致崩溃 - 没有错误,这意味着该文件夹没有计划者。
[更新] 最初我没有在文件夹和计划器之间创建关系。这样做之后又发生了另一个错误,所以post已经移动了。
以下是创建文件夹时的代码:
//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)
答案 0 :(得分:1)
您尚未在folder
和planner
之间设置关系
宾语。你必须设置
folder.planner = planner
或
planner.folder = folder