首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将托管对象保存为一种类型

将托管对象保存为一种类型
EN

Stack Overflow用户
提问于 2015-06-20 22:32:59
回答 1查看 45关注 0票数 0

我是iOS开发的新手,我正在尝试使用多个托管对象。

例如,测试应用程序有两个实体,一个用于文件夹,另一个用于Planner。它是一对一的类型,所以每个文件夹都有一个计划器。规划师有一个名为notes的属性,用于保存文本字段中的文本。

创建文件夹后,在tableView中的单元格上点击用户segues到传递给selectedFolder对象的规划者视图控制器。在规划师视图控制器()中,我试图确保在执行savePlanner函数时,应该将'UITextView‘文本保存到托管规划师对象的'notes’属性,该属性与'selectedFolder‘有直接关系。

我不确定在保存时如何确保计划器和选定的文件夹之间存在关系。

在规划师视图控制器我有;

代码语言:javascript
复制
class PlannerViewController: UIViewController {

//SelectedFolder is the managed object of the cell row
var selectedFolder: Folder!
var planner: Planner?

@IBOutlet weak var plannerTextField: UITextView!


override func viewDidLoad() {
    super.viewDidLoad()

//Load Planner Data in text field here..


}


@IBAction func savePlanner(sender: AnyObject) {

    //Save Planner Notes To Folder

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

    //Add current Planner to selectedFolder
    selectedFolder.planner = note

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

    //Storing Data
    note.notes = plannerTextField.text

    moc?.save(&error)

}

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-21 11:54:45

要建立一对一的关系,你可以从任何一方设置它。在存钱之前就这么做。因此:

代码语言:javascript
复制
selectedFolder.planner = note
// or
note.folder = selectedFolder

当然,只有在核心数据模型编辑器中正确设置了关系和反向关系时,这才能起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30959506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档