我想将 Core Data 用于绘图应用程序,其中用户使用 CGPoints 在 UIImageView 中绘制可以选择保存并在以后加载不同的绘图(如果用户需要,可以添加到它们 - 例如可变性)
我已经阅读了一些核心数据教程并浏览了核心数据编程指南,但我似乎无法弄清楚需要做什么才能将绘图保存到核心数据,即使用什么类型的属性(我想是可转换的)和如何让 CGPoints(我想再次转换)与我需要创建的 managedObject 一起工作。
要绘制我正在使用的方法:
- (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 转换为数据,因此我不确定如何将其应用于 UIImageView 中的 CGPoints。如有必要,我很乐意提供更多代码。
在此先感谢,
詹姆斯
.
.
苹果的食谱代码:
@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