将PNG保存到磁盘,但将文件路径保存到Core Data

时间:2013-07-29 16:23:12

标签: ios objective-c core-data uiimage

这里可能有一个重复的问题,但我搜索了,找不到答案。

我有一个应用程序接受用户的签名并将该签名保存为.png文件。这是我使用的代码:

-(void)saveSignature

{
    UIGraphicsBeginImageContext(self.frame.size);
    [self.layer renderInContext:UIGraphicsGetCurrentContext()];
    signature = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    NSData *pngData = UIImagePNGRepresentation(signature);

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
    NSString *filePath = [documentsPath stringByAppendingPathComponent:@"signature.png"];
    [pngData writeToFile:filePath atomically:YES]; //Write the file
}

此代码效果很好。它在我的应用程序的文档文件夹中保存了一个.png的签名。我需要做的是将文件路径保存到我的Core Data模型并通过它访问它。核心数据。

如果有人能指出我正确的方向,那就太好了。

1 个答案:

答案 0 :(得分:1)

您没有说核心数据中是否还有其他内容。如果这样做,只需在模型上创建imagePath属性,并将文档的路径分配到其中。然后,根据模型,使用UIImage的imageWithContentsOfFile:方法,只需将图像加载到UIImage中。

如果你还没有核心数据和生成的模型,那么你真的需要学习核心数据,而StackOverflow可能不是最好的地方。 This tutorial可能是一个很好的起点。

我在核心数据方面的第一条建议是使用MagicalRecord库,这使得核心数据的使用变得更加容易。