Я хотел бы использовать Базовые данные для приложения для рисования, где пользователь рисует в UIImageView, используя CGPoints, имеет возможность сохранять и позднее загружать разные рисунки (и добавлять к ним, если пользователь этого желает - например, изменчивость)
Я прочитал некоторые учебники по сердцевинным данным и просмотрел Руководство по программированию базовых данных , но я не могу понять, что нужно сделать, чтобы сохранить чертеж в Core Data, т.е. какой тип Используемый атрибут (я полагаю, преобразуемый) и как именно заставить CGPoints (я полагаю, снова преобразовать) работать с управляемым объектом, который мне нужно создать.
Для рисования я использую методы:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {...}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {...}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {...}
В проекте iPhoneCoreDataRecipes Apple изменяет изображения на данные для Core Data - (поэтому вам не нужно загружать проект, его код в файле реализации для преобразования находится внизу поста) , В этом случае он конвертирует PNG в данные, поэтому я не уверен, как применить это к CGPoints в UIImageView. Я рад предоставить больше моего кода в случае необходимости.
Заранее спасибо,
Джеймс
.
.
Код рецепта 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