对那些知道的人来说只是一个普遍的问题。我刚学会了我的第一个核心数据保存和使用单个实体(表)检索。 问题是,如果我想从多个实体保存和检索..最好的方法是什么?我是否需要添加更多检索和保存功能?或者有一种方法可以自定义保存和检索方法来为多个实体执行此操作吗?例如,在一个边和一个沙漠实体中添加。
这是我到目前为止对单一实体所拥有的:
class databasemanager: NSObject {
let managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
func addRow(name:String, price:String) {
// set the core data to access the Student Entity
let entityDescription = NSEntityDescription.entity(forEntityName: "Pizzas", in: managedObjectContext)
let pizza = Pizzas(entity: entityDescription!, insertInto: managedObjectContext)
// Assign value to the entity
pizza.name = name
pizza.price = price
do{
try managedObjectContext.save()
// showMessage(”OK Adding to Core Data")
} catch {
// showMessage(”Error adding to Core Data")
}
}
func retrieveRows() -> String{
let entityDescription = NSEntityDescription.entity(forEntityName: "Pizzas", in: managedObjectContext)
let request = NSFetchRequest<NSFetchRequestResult>()
request.entity = entityDescription // get the table pizza
var pizzaObjs = [Pizzas]()
do{
try pizzaObjs = managedObjectContext.fetch(request) as! [Pizzas] }
catch { //show some error msg
}
var msg: String = ""
for pizza in pizzaObjs {
msg = msg + pizza.name! + ", " + pizza.price! + "\n" }
return msg
}
}
答案 0 :(得分:0)
在coreData中,我们有很棒的选择,即关系。您可以创建可以是一对一或一对多的关系。之后,使用编辑选项创建NSManagedObject类,这些选项将自动创建添加或删除方法,以便您可以通过主实体访问多个实体。
了解更多信息:Read this