xcode / ios:如何将映像保存到磁盘并在核心数据中存储名称

时间:2015-04-12 01:19:43

标签: image core-data

第一次选择并拍照。我有代码工作,允许用户选择(或采取)个人资料图片,并使用委托模式在应用程序的uiview中显示。为了保留这张图片,许多文章建议您将图像存储在磁盘上,而不是核心数据中,并将文件名存储在核心数据中。

我找到了以下存储文件的方法。

  - (void)saveImage: (UIImage*)image
    {
        if (image != nil)
        {
            NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                                 NSUserDomainMask, YES);
            NSString *documentsDirectory = [paths objectAtIndex:0];
//create a file name perhaps using time and call it 
            NSString* path = [documentsDirectory stringByAppendingPathComponent:
                              [NSString stringWithString: @"profilefilename.png"] ];
            NSData* data = UIImagePNGRepresentation(image);
            [data writeToFile:path atomically:YES];
        }
    }

然而,我无能为力,如何以及在何处调用此方法将文件存储在磁盘上以及何时何地存储在核心数据中。

感谢您的任何建议

1 个答案:

答案 0 :(得分:0)

首先考虑添加一个子目录,而不是将文档目录与文件一起拥挤。

其次,在saveImage方法中添加核心数据持久性。

第三,在什么时间调用此保存方法取决于您的应用设置。也许你有一个保存按钮或类似的东西。

如果您不知道如何实际保存到Core Data,那么您的问题超出了此论坛的范围。然后你应该先做一个教程,例如this一个。