1

我想知道将许多 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 个 UIImage 合并在一起的正确方向,请记住它们以后需要取消合并?谢谢。

4

0 回答 0