ios - 将 PNG 保存到磁盘,但将文件路径保存到核心数据

标签 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 中是否还有其他东西。如果这样做,只需在您的模型上创建一个 imagePath 属性,并将文档的路径分配给它。然后,根据模型,使用 UIImage 的 imageWithContentsOfFile: 方法,在需要时简单地将图像加载到 UIImage 中。

如果您还没有准备好 Core Data 和生成模型,那么,您确实需要学习 Core Data,而 StackOverflow 可能不是最好的选择。 This tutorial可能是一个很好的起点。

关于核心数据,我的第一条建议是使用 MagicalRecord库,它使 Core Data 的一般使用变得非常非常容易。

关于ios - 将 PNG 保存到磁盘,但将文件路径保存到核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17929156/

相关文章:

ios - 当应用程序进入后台时将所有实体变为故障?

ios - 多线程违规留给我们的只是荣誉(失败)

ios - 如何在应用程序打开时检测推送通知

objective-c - NSValueTransformer 没有被调用

ios - MPMoviePlayerController-Xcode找不到它和屏幕

objective-c - 如何使用 NSXMLParser 解析内部声明的 XML 实体引用

ios - CoreData 与子类的关系

ios - 仅在部分 View 上接收点击手势

ios - 了解使用对象 C 进行编程的 block

ios - 无法将已解析的 JSON 列表显示到 TableView 中