核心数据和每个对象的唯一UIImage

Yoa*_*ges 0 core-data objective-c save uiimage ios

我正在创建一个简单的应用程序,用户可以创建使用CoreData保存的多个对象.

我的问题是,我希望每个对象都有一个链接到它的图像.图像由iphone相机或用户个人相机胶卷带来,因此图像将具有相当高的重量(我认为每个> 1MB).我读到当图像的权重很高时,处理这个问题的好方法是将图像保存在documentsDirectory文件夹中,并保存到coreData的路径.我很容易实现这一点.

但是如何找到要链接到唯一对象的图像的路径名?CoreData并没有真正处理唯一的ID,并且两个对象可以具有相同的名称...我搜索了objectID,但它的工作效果并不好,我不确定这是处理这个问题的好方法.

你有什么主意吗?还有一种我完全失踪的简单方法吗?先感谢您.

Dai*_*jan 5

使用coredata的objectID作为标识符

id uri = [self sanitizeFilename:coreDataObject.objectID.URIRepresentation];
[NSString stringWithFormat:@"%@.png", uri];
Run Code Online (Sandbox Code Playgroud)

helper sanitizeFilename:

- (NSString *)sanitizeFileNameString:(NSString *)fileName {
    NSCharacterSet* illegalFileNameCharacters = [NSCharacterSet characterSetWithCharactersInString:@"/\\?%*|\"<>"];
    return [[fileName componentsSeparatedByCharactersInSet:illegalFileNameCharacters] componentsJoinedByString:@""];
}
Run Code Online (Sandbox Code Playgroud)