合并和取消合并

时间:2012-04-27 03:42:16

标签: xcode uiimage nsmutablearray nsdata

我想知道将许多UIImages合并在一起的最佳方式(因为缺少一个更好的词),以便我可以通过电子邮件发送它们或将它们作为一个文件上传到Dropbox,然后能够稍后从不同的iDevice合并它们。

目前我将图像保存为NSMutableDictionary,图像数据作为对象,文件名作为键。然后我使用NSKeyedArchiver从我的NSMutableDictionary中创建一个NSData对象。我将此数据附加到电子邮件中,然后将其发送出去,以便在另一台设备上导入。在那里,我可以NSKeyedUnarchiver我的NSMutableDictionary,我有所有可能的图像和他们各自的文件名随时可用。如果我只有5到10个图像,这很有用,但是当我进入50到100个图像时,随着NSMutableDictionary变大,会出现无意识的内存问题。以下是我现在正在使用的代码

NSData *imageToAddToEmail;
NSMutableDictionary *dictionaryToSend = [[NSMutableDictionary alloc] init];
NSArray *filePathBrokenUp;


for (int i = 0; i < [arrayForPhotoURLs count]; i++)
{
    imageToAddToEmail = UIImagePNGRepresentation([[UIImage alloc] initWithData:[NSData dataWithContentsOfFile:[arrayForPhotoURLs objectAtIndex:i]]]);
    filePathBrokenUp = [[arrayForPhotoURLs objectAtIndex:i] componentsSeparatedByString:@"/"];

    if (imageToAddToEmail != nil) [dictionaryToSend setObject:imageToAddToEmail forKey:[filePathBrokenUp lastObject]];
}


NSData *dataToSend = [NSKeyedArchiver archivedDataWithRootObject:dictionaryToSend];

有人能指出我如何将50-100个UIImages合并在一起的正确方向,记住它们后来需要不合并吗?感谢。

0 个答案:

没有答案