2011-12-08 50 views
0

我需要将由图像选取器拾取的图像保存到磁盘上,并将其关联到托管对象。
我想在托管对象(imagePath属性是nsstring)中存储图像路径,但我不知道如何调用图像,因为它必须始终可用,直到用户删除托管对象。将图像保存在磁盘上并将其关联到托管对象iphone

我想用管理对象的ID来调用每张图片,但我认为它太长了,并且在我尝试保存图片时仍然是暂时的...
如何为每个托管对象调用每个图像?

谢谢!

回答

1

使用管理对象的ID变成了一个文件名字符串实际上是理想的,因为它保证是唯一的。名称的长度对文件系统来说不是问题。

+0

是的,但你能看看@ railwayparade的回答评论吗?谢谢! – matteodv

+0

这完全取决于您保存的图像数据量。您可以设置使用外部存储二进制数据属性,核心数据一旦超过一定的大小阈值就会将数据存储并追踪为文件,否则它将存储在数据库本身中。这当然会导致更大的数据库文件,具体取决于您要存储的图像数量。无论哪种方式都是有效的,在我看来,它归结为哪种方式可以为您的努力提供最可接受的性能。 – gschandler

2

如果您打算将它存储在磁盘上,为什么不使用Transformable类型将它存储在核心数据中。

您可以使用类似缩短了管理对象ID:

NSString *_id=[[self.objectID URIRepresentation] lastPathComponent]; 
+0

我实际上使用可变形类型将我的图像存储在核心数据中,但它非常非常慢...我需要可以在后台完成的操作。 objectID上的lastPathComponent会得到什么?如果objectID仍然是临时的,它会工作吗? – matteodv

+0

不,它不会工作,如果它临时 – railwayparade

+0

我试图检查这与if/else结构,它似乎是永久...什么时候是一个管理对象临时? – matteodv

相关问题