【问题标题】:xcode/ios: How to save image to disk and store name in core dataxcode/ios:如何将图像保存到磁盘并将名称存储在核心数据中
【发布时间】:2015-04-12 17:07:20
【问题描述】:

第一次选择和拍照。我有代码可以让用户选择(或获取)个人资料图片,并使用委托模式在应用程序的 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];
        }
    }

但是,我不知道如何以及在何处调用此方法以将文件存储在磁盘上,以及何时何地存储核心数据。

感谢您的任何建议

【问题讨论】:

    标签: image core-data


    【解决方案1】:

    首先考虑添加一个子目录,而不是在文档目录中塞满文件。

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 2016-09-30
    • 2011-10-04
    相关资源
    最近更新 更多