NSManagedObjectModel : "configurations" inutiles ?!

JegnuXJegnuX Membre
janvier 2015 modifié dans Objective-C, Swift, C, C++ #1

Salut à  tous


 


ça fait un bail que j'étais pas venu, mais là  y'a vraiment un truc que je comprend pas avec Core Data.


J'ai fait le test avec un nouveau projet et avec tout le code du template Apple et j'ai la même chose.


 


En gros, dans mon Model CoreData, je met par exemple 3 entités : A, B et C


Par défaut, il y a une configuration nommée "Default" qui inclu ces 3 entités. Bien.


 


Maintenant je créé une seconde configuration que je nomme "MyConfig" dans laquelle je ne met QUE l'entité "C".


 


Dans le code je modifie cette ligne pour sélectionner la bonne configuration : 



if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: "MyConfig", URL: url, options: nil, error: &error) == nil {
...
}

Je lance l'application, et je vais fouiller dans les dossiers du simu pour retrouver et ouvrir le .sqlite, et là  je vois qu'ont été créés les tables ZA, ZB et ZC, là  où je ne m'attendais qu'à  voir la table ZC.


 


C'est d'autant plus étrange que si je fait ça, ça me retourne bien que l'entité C : 



myManagedObjectModel.entitiesForConfiguration("MyConfig")

Dès lors, à  quoi servent les configurations si au final c'est toujours le même schéma de base de donnée qui est généré ?


Ou alors y'a quelque chose que je fais mal ?


 


Merci d'avance pour vos réponses :)


Réponses

  • T'as essayé de supprimer Default et de creer deux configurations nommées ?
  • JegnuXJegnuX Membre
    janvier 2015 modifié #3


    T'as essayé de supprimer Default et de creer deux configurations nommées ?




     


     


    ça fait le bruit système qui veut dire qu'il veut pas supprimer la configuration "Default"...


  • FKDEVFKDEV Membre
    janvier 2015 modifié #4

    Je me suis mal souvenu de ce post qui indique comment créer un store par config.


    En fait, il ajoute deux nouvelles configurations et garde la configuration par défaut.


    Cela dit rien n'est dit sur le schéma de base de données dans ce post.


     


    Si les tables sont présentes dans chaque store mais vide, est-ce que cela pose un problème ?


Connectez-vous ou Inscrivez-vous pour répondre.