【问题标题】:Swift 3 multiple core data savingSwift 3 多核数据保存
【发布时间】:2017-02-14 17:51:00
【问题描述】:

我需要像保存对象一样保存每个字符串,但在下面的方法中只保存最后一个字符串。

您能告诉我如何保存所有内容吗?

          let appDelegate = UIApplication.shared.delegate as! AppDelegate

            let context = appDelegate.persistentContainer.viewContext
            if let doc = HTML(html: sentHTML, encoding: .utf8) {
                print(doc.title!)
                var kCounter = 2
                var Variab = false
                let newInfo = NSEntityDescription.insertNewObject(forEntityName: "MarksTable", into: context)
                for link in doc.xpath("//td | //link") {

                    if (kCounter % 2) == 0 {

                        newInfo.setValue(link.text!, forKey: "lesson")
                    }
                    if (kCounter % 2) == 1 {

                        newInfo.setValue(link.text!, forKey: "mark")
                    }
                    kCounter += 1

                    do
                    {
                        try context.save()
                        print("saved ",link.text!)

                    }
                    catch
                    {

                    }
                }

【问题讨论】:

    标签: arrays swift core-data


    【解决方案1】:

    如果您想在每次迭代中创建一个新的托管对象,请将let newInfo 移动到循环中

     for link in doc.xpath("//td | //link") {
         let newInfo = NSEntityDescription.insertNewObject(forEntityName: "MarksTable", into: context)
         ...
    

    此外,强烈建议循环之后保存上下文。

    【讨论】:

      猜你喜欢
      • 2017-07-17
      • 2017-08-01
      • 1970-01-01
      • 2017-09-20
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      相关资源
      最近更新 更多