2016-06-01 2 views
1

Я пытаюсь добавить несколько отношений Core Data к одному объекту. Это мой CoreData стол: Core Data TableСохранение нескольких основных отношений данных для одного объекта swift

Im используя этот код для добавления объектов в базе данных:

  for data in rawData{ 
       if let itemID = Int(data.1.array![0].string!){ 
        if let seriesID = Int(data.1.array![1].string!){ 
         if let frontPictureId = Int(data.1.array![3].string!){ 
          if let backPictureId = Int(data.1.array![4].string!){ 
           if let itemDescription = data.1.array![5].string{ 
            if let catatalogCodes = data.1.array![6].string{ 
             if let itemName = data.1.array![7].string{ 
              //Retrieve Serie for current stamp 
              var currentSerie: Serie! 
              privateMOC.performBlockAndWait{ 
               let serieFetch = NSFetchRequest(entityName: "Serie") 
               serieFetch.predicate = NSPredicate(format: "seriesID == %d", seriesID) 
               do { 
                let results = try privateMOC.executeFetchRequest(serieFetch) as! [Serie] 
                if results.count > 0 { 
                 currentSerie = results.first 
                } 
               } catch let error as NSError { 
                print("Error: \(error) " + 
                 "description \(error.description)") 
               } 
              } 

              let stamp = NSEntityDescription.insertNewObjectForEntityForName("Stamp", inManagedObjectContext: privateMOC) as! Stamp 

              stamp.itemID = itemID 
              stamp.frontPictureID = frontPictureId 
              stamp.backPictureID = backPictureId 
              stamp.itemDescription = itemDescription 
              stamp.catalogCodes = catatalogCodes 
              stamp.itemName = itemName 
              //Make the series Relationship 
              //TODO: - Add RelationShip 

              arrayOfStamps.append(stamp) 
             } 
            } 
           } 
          } 
         } 
        } 
       } 
      } 


      currentCountry.mutableOrderedSetValueForKey("serie").addObjectsFromArray(arrayOfStamps)//Add Stamp to the database 
      privateMOC.performBlockAndWait(){ 
       do { 
        try privateMOC.save() 
       } catch let error as NSError { 
        print("Could not save \(error), \(error.userInfo)") 
       } 
      } 

Но что должно прийти на линии, где он говорит TODO-: Добавить отношения? Когда я пытаюсь использовать это: currentSerie.mutableOrderedSetValueForKey("stamps").addObject(stamp)//Add Stamp to serie Ik получает ошибку, что тип serie, не содержит mutableOrderdSetValueForKey.

Объект штампа должен иметь отношения со страной и с Серией в одно и то же время. Я создаю отношения с объектом страны, используя этот код: currentCountry.mutableOrderedSetValueForKey("serie").addObjectsFromArray(arrayOfStamps)//Add Stamp to the database

Поэтому мне нужно добавить два отношений с недавно добавленной маркой. Как это сделать правильно и эффективно?

+0

Возможный дубликат [Сохранение связей CoreData для многих в Swift] (http://stackoverflow.com/questions/25127090/saving-coredata-to-many-relationships-in-swift) – sschale

+0

Нет, потому что здесь Я хочу добавить _multiple_ отношения к объекту, который не работает, как я ожидаю. Вот почему я задаю этот вопрос. Надеюсь, что разъяснение помогло. – sloeberGJ

ответ

0

Я изменил его так, что мне пришлось установить одно отношение. Путь проще

Смежные вопросы