2010-07-28 4 views
0

Je commence à jeter un coup d'œil aux données de base, car beaucoup prétendent que c'est le meilleur moyen de conserver les données.impact des données de base sur le projet existant iphone

J'ai un projet qui fonctionne déjà avec son modèle et ses objets, le but principal de l'application est d'encapsuler des choses comme attributs (NString, NSObject, Custom Object..ecc) dans une classe principale, donner la possibilité de créer beaucoup instance de cette classe, puis l'enregistrer dans le stockage, récupérer plus tard et afficher une liste de table avec toutes les instances enregistrées.

Dans ce cas, où ma classe est déjà définie (en tant qu'extension NSObject), que pourrait-il se passer avec l'introduction de Core Data? Ai-je besoin de réécrire mon modèle? Par exemple, dans un premier essai, j'ai créé un modèle dans xcode, puis j'y ai associé l'objet en tant qu'entité. Mais certains des attributs qui n'utilisaient pas les standards tels que string, int ... ecc ont obtenu UNDEFINED comme type.

@interface Car { 
NSString *name; 
WheelsType wtype; <-- undefined 
NSDate *buy; 
CarColor *color; <-- undefined 
} 
@end 

Qu'est-ce que cela signifie? Suis-je capable de sauvegarder juste seulement String, Int, Boolean ... ecc mais pas mes Classes Personnalisées? Si non, quelle pourrait être la structure de la table?

grâce

Répondre

0

types personnalisés dans CoreData peuvent être déclarées transformable, ce qui signifie qu'ils vont se transformer et à des instances de NSData. Le transformateur de valeur par défaut fonctionne dans de nombreux cas, mais vos classes peuvent nécessiter un NSValueTransformer personnalisé.

Edit: Depuis l'utilisation CoreData changements comment récupérer vos données, il serait sage de revoir votre modèle. Lisez la documentation CoreData, puis considérez comment accéder à vos objets et comment éviter les objets et les propriétés qui ne seront pas utilisés.

+0

Merci, c'est clair maintenant. Pensez-vous que l'introduction de données de base me ferait réécrire ou repenser certaines classes et modèles? Ou c'est juste une couche que je peux brancher, et son seul impact est de récupérer et d'enregistrer? – Leonardo

+0

Puisqu'il a un impact sur la façon dont vous * récupérez * vos données, il serait sage de revoir votre modèle. Lisez la documentation 'CoreData', puis considérez comment accéder à vos objets et comment éviter les objets et les propriétés qui ne seront pas utilisés. Est-ce que cela répond à votre question? – Justin

+0

oui merci, je me découvre aussi que ce n'est pas si simple de brancher Core Data comme je l'ai dit ici: http://stackoverflow.com/questions/3377694/understanding-nsmanagedobject, si vous réécrivez votre réponse y compris ce dernier commentaire que je peux signaler question en réponse. – Leonardo

Questions connexes