我的应用将图像存储在NSMutableArray中。然后我调用这些对象,然后通过电子邮件发送它们在下面代码的mailSender.parts部分。问题是当我需要添加所有对象时,它只添加第一个objectatindex。我很困惑如何在self.arrSlidshowImg NSMutableArray中添加到vcfPart2 NSDictionary,然后将其添加为数组对象,以便mailSender.parts将发送所有图像。有什么想法吗?我还应该注意到我做了一个NSLog来查看结果添加此代码NSLog(@“VCF:%@”,vcfPart2);.日志文件显示了vcfPart2中的每个值。所以代码调用每个响应。
NSDictionary *vcfPart2;
for (int i = 0; i < self.arrSlidshowImg.count; i++) {
NSData *vcfData = [self.arrSlidshowImg objectAtIndex:i];
vcfPart2 = [JFMailSender partWithType:PartTypeFilePart
Message:[vcfData base64EncodedStringWithOptions:0]
ContentType:@"image/jpeg"
ContentTransferEncoding:@"base64"
FileName:[NSString stringWithFormat:@"Individual_%d", i]];
}
mailSender.parts = [NSArray arrayWithObjects:plainPart2,vcfPart2,nil];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
[mailSender sendMail];
});
});
答案 0 :(得分:0)
以下内容来自对您的代码的简单阅读,以及其他我未查找的内容JFMailSender
:
vcfPart2
以保存对字典的引用vcfPart2
指定一个值,当您报告没有警告时,此值可能是对字典的引用self.arrSlidshowImg.count
次,每次迭代循环vcfPart2
将保留分配给它的最后一个引用,之前的self.arrSlidshowImg.count - 1
已被覆盖您的担忧似乎是当您使用vcfPart2
时它只引用一个字典 - 但这就是它所能做的一切,就是它的类型。
也许您打算在循环中创建一个字典然后将该字典添加到一个可变数组中,以便在循环之后数组包含所有字典?
HTH