【发布时间】:2017-07-08 11:05:03
【问题描述】:
我正在处理核心数据,我有两个实体:
游泳池 参数 每个游泳池可以有多个参数
我已经保存并获取了游泳池的数据。
我已经通过表格保存了它们。
在我的 AppDelegate 中有:
let ad = UIApplication.shared.delegate as! AppDelegate
let context = ad.persistentContainer.viewContext
这是函数:
var swimmingpool: SwimminPool!
if swimmingPoolToEdit == nil {
swimming = SwimminPool(context: context)
} else {
swimming = swimmingPoolToEdit
}
if let name = swimmingName.text {
swimming.name = name
}
if let volume = swimmingVolume.text {
swimming.volume = volume
.........................................................
ad.saveContext()
然后我像这样执行获取:
var controller: NSFetchedResultsController<SwimmingPool>!
func attemptFetch() {
let fetchRequest: NSFetchRequest<SwimminPool> = SwimminPool.fetchRequest()
let dataSort = NSSortDescriptor(key: "createdAt", ascending: false)
fetchRequest.sortDescriptors = [dataSort]
let controller = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
controller.delegate = self
self.controller = controller
do {
try controller.performFetch()
} catch {
let error = error as NSError
print("\(error.debugDescription)")
}
}
通过一个 segue,我将所有数据传递给一个新控制器,并通过一个新表单(在另一个控制器中),我试图保存参数数据并将它们连接到特定的游泳池。
我是否需要像保存游泳池一样保存数据,并且关系会自动连接两个实体,还是我需要在保存时连接它们?
我是 swift 新手,不知道如何保存相关数据
连接将在保存或何时执行参数获取时建立?
谢谢!
【问题讨论】: