如何将多个条目保存到一个nsmanagedObject

问题描述 投票:0回答:1

我试图将2个不同的字符串实体保存到核心数据。然后用tableview显示我的函数以下保存数据。现在,代码正在不同的tableview单元格中显示。意义实体a正在单元格1上显示,实体b正在单元格2上显示。它们不会被打印到同一单元格中。

var itemName2 : [NSManagedObject] = []
var itemName : [NSManagedObject] = []
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return itemName.count
}

func enterData() {
    let appDeldeaget = UIApplication.shared.delegate as! AppDelegate
    let context = appDeldeaget.persistentContainer.viewContext
    let entity = NSEntityDescription.entity(forEntityName: "Data", in: context)

    let theTitle = NSManagedObject(entity: entity!, insertInto: context)
    theTitle.setValue(hits.text, forKey: "hits")

    let theTitle2 = NSManagedObject(entity: entity!, insertInto: context)
    theTitle2.setValue(atBats.text, forKey: "atBATS")

    do {
        try context.save()
        itemName.append(theTitle)
        itemName.append(theTitle2)
    } catch {
        print("d")
    }
    self.theScores.reloadData()

    hits.text = ""
    hits.resignFirstResponder()
}
ios swift core-data nsmanagedobject nsmanagedobjectcontext
1个回答
0
投票

试试这个,

func enterData() {
    let appDeldeaget = UIApplication.shared.delegate as! AppDelegate
    let context = appDeldeaget.persistentContainer.viewContext
    let entity = NSEntityDescription.entity(forEntityName: "Data", in: context)

    let theTitle = NSManagedObject(entity: entity!, insertInto: context)
    theTitle.setValue(hits.text, forKey: "hits")

    //removed theTitle2 and set the second value in theTitle itself
    theTitle.setValue(atBats.text, forKey: "atBATS")

    do {
        try context.save()
        itemName.append(theTitle)
        //add theTitle only
    } catch {
        print("d")
    }
    self.theScores.reloadData()
    hits.text = ""
    hits.resignFirstResponder()
}
© www.soinside.com 2019 - 2024. All rights reserved.