gpt4 book ai didi

ios - 使用 To One 类型保存托管对象

转载 作者:行者123 更新时间:2023-11-29 01:55:05 24 4
gpt4 key购买 nike

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

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

创建文件夹后,点击 tableView 中的单元格,用户将转到传递 selectedFolder 对象的规划器 View Controller 。在 Planner View Controller 中,我试图确保执行 savePlanner 函数时,应将“UITextView”文本保存到托管规划器的“notes”属性中与“selectedFolder”有直接关系的对象。

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

在规划 View Controller 中我有;

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)

}

}

最佳答案

要创建一对一关系,您可以从任一侧进行设置。在保存之前执行此操作。因此:

selectedFolder.planner = note
// or
note.folder = selectedFolder

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

关于ios - 使用 To One 类型保存托管对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com