Je voudrais utiliser des données de base pour une application de dessin où l'utilisateur dessine un UIImageView en utilisant CGPoints a la possibilité de sauvegarder et de charger plus tard différents dessins (et de les ajouter si le les désirs de l'utilisateur - par exemple la mutabilité)Utiliser CoreData avec dessin (CGPoint)
J'ai lu quelques tutoriels de données à noyau et j'ai parcouru le Core Data Programming guide mais je n'arrive pas à comprendre ce qu'il faut faire pour enregistrer le dessin dans les données de base, c'est-à-dire quel type d'attribut J'utilise (transformable je suppose) et comment exactement obtenir les CGPoints (à nouveau je suppose) pour fonctionner avec le managedObject que je vais devoir créer.
Pour dessiner J'utilise des méthodes:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {...}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {...}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {...}
Dans le projet iPhoneCoreDataRecipes d'Apple modifie les images aux données pour Core Data - (vous ne devez pas télécharger le projet leur code dans le fichier de mise en œuvre pour la transformation est au bas de la poste). Dans ce cas, il convertit les fichiers PNG en données, donc je ne sais pas comment l'appliquer aux CGPoints dans un UIImageView. Je suis heureux de fournir plus de mon code si nécessaire.
Merci à l'avance,
James
.
.
code de recette d'Apple:
@implementation Recipe
@dynamic name, image, overview, thumbnailImage, instructions, ingredients, type, prepTime;
@end
@implementation ImageToDataTransformer
+ (BOOL)allowsReverseTransformation {
return YES;
}
+ (Class)transformedValueClass {
return [NSData class];
}
- (id)transformedValue:(id)value {
NSData *data = UIImagePNGRepresentation(value);
return data;
}
- (id)reverseTransformedValue:(id)value {
UIImage *uiImage = [[UIImage alloc] initWithData:value];
return [uiImage autorelease];
}
@end
Avez-vous besoin d'interroger les coordonnées dans CoreData ou voulez-vous que pour aller chercher un dessin et d'en tirer tous les points composant le dessin? Si vous avez besoin de rechercher des coordonnées, créez une Entité de Données de base représentant chaque CGPoint avec 2 attributs (coordonnées), sinon créez un seul Objet Modèle pour chaque dessin avec un attribut transoformable et NSValue pour stocker tous les points. CGPoint -> NSValue -> NSMutableArray -> (transformable) Attribut NSManagedObject –
Salut Martin, je pense que je peux seulement – jamesC
vouloir récupérer le dessin qui a été créé (il sera composé de 1-4 couleurs - peut-être plus) désolé si cela vous jette pour une boucle. Donc, je veux stocker ce qui a été dessiné sur l'écran et ensuite être en mesure de le récupérer et soit charger la "photo" enregistrée et/ou l'envoyer par courriel. (J'ai vu des applications qui prennent une photo de l'écran et l'ajoutent à vos photos pour que vous puissiez les envoyer par la suite). Je comprends, cependant, qu'il est parfois préférable d'ajuster ce que je veux à ce qui est possible. Par conséquent, si l'enregistrer dans Core Data est poilu en le tournant vers une image, c'est ok. -j – jamesC