2017-02-14 19 views
-1

オブジェクトのように各文字列を保存する必要がありますが、次の方法では最後の文字列のみが保存されます。Swift 3複数のコアデータの保存

どうすればすべてを保存できますか教えてください。

  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 
        { 

        } 
       } 

答えて

0

あなたがループ

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

さらににlet newInfoを移動し、各反復で新しい管理対象オブジェクトを作成したい場合は、非常にループの後に一度コンテキストを保存することをお勧めします。

関連する問題