Objective c 使用mailcore附加照片阵列

Objective c 使用mailcore附加照片阵列,objective-c,swift,mailcore2,mailcore,Objective C,Swift,Mailcore2,Mailcore,我需要使用MailCore将一组照片附加到电子邮件中。我在另一个问题中发现了以下代码,但我不确定如何将其应用于我的应用程序中使用相机拍摄的照片 我的猜测是,我必须获取照片的文件名,并将它们作为字符串保存到数组中,然后使用代码片段将字符串附加到电子邮件中 NSArray *allAttachments = [NSArray arrayWithObjects:@{@"FilePathOnDevice": @"/var/mobile/etc..", @"FileTitle": @"IMG_0522.J

我需要使用MailCore将一组照片附加到电子邮件中。我在另一个问题中发现了以下代码,但我不确定如何将其应用于我的应用程序中使用相机拍摄的照片

我的猜测是,我必须获取照片的文件名,并将它们作为字符串保存到数组中,然后使用代码片段将字符串附加到电子邮件中

NSArray *allAttachments = [NSArray arrayWithObjects:@{@"FilePathOnDevice": @"/var/mobile/etc..", @"FileTitle": @"IMG_0522.JPG"}, nil];
    for (int x = 0; x < allAttachments.count; x++) {
        NSString *attachmentPath = [[allAttachments objectAtIndex:x] valueForKey:@"FilePathOnDevice"]];
        MCOAttachment *attachment = [MCOAttachment attachmentWithContentsOfFile:attachmentPath];
        [msgBuilder addAttachment:attachment];
    }

谢谢你的帮助

我最终将图像保存到documents目录,并使用该文件路径将图像附加到mailcore

以下是我的图像选择器代码:

 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
    imagePicker.sourceType = .Camera
    imagePicker.dismissViewControllerAnimated(true, completion: nil)
    var photo = info[UIImagePickerControllerOriginalImage] as? UIImage
    bedroomCells[lastSelectedIndex!.row].image = photo
    var photoLabel = bedroomCells[lastSelectedIndex!.row].text
    tableView.reloadData()

    //save photo to document directory
    var imageData = UIImageJPEGRepresentation(photo, 1.0)
    var imageFilePath = fileDirectory[0].stringByAppendingPathComponent("\(photoLabel!).jpg")
    var imageFileURL = NSURL(fileURLWithPath: imageFilePath)
    imageData.writeToURL(imageFileURL!, atomically: false)
}
以及我的mailcore方法的代码:

MCOMessageBuilder * builder = [[MCOMessageBuilder alloc] init];
NSString *documentsDirectory = [fileDirectory objectAtIndex:0];
NSArray *allAttachments = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory  error:nil];
for (int x = 0; x < allAttachments.count; x++) {
    NSString *attachmentPath = [documentsDirectory stringByAppendingPathComponent:[allAttachments objectAtIndex:x]];
    MCOAttachment *attachment = [MCOAttachment attachmentWithContentsOfFile:attachmentPath];
    [builder addAttachment:attachment];
}
MCOMessageBuilder*builder=[[MCOMessageBuilder alloc]init];
NSString*documentsDirectory=[fileDirectory对象索引:0];
NSArray*allAttachments=[[NSFileManager defaultManager]子路径目录路径:documents目录错误:nil];
对于(int x=0;x
在swift代码中:

    var dataImage: NSData?
    dataImage = UIImageJPEGRepresentation(image, 0.6)!
    var attachment = MCOAttachment()
    attachment.mimeType =  "image/jpg"
    attachment.filename = "image.jpg"
    attachment.data = dataImage
    builder.addAttachment(attachment)

您需要先将图像选取器返回的UIImage保存到文件中,然后才能附加它。谢谢,我使用了此方法,并且能够找到我自己问题的答案。是否有方法转换为Swift?
    var dataImage: NSData?
    dataImage = UIImageJPEGRepresentation(image, 0.6)!
    var attachment = MCOAttachment()
    attachment.mimeType =  "image/jpg"
    attachment.filename = "image.jpg"
    attachment.data = dataImage
    builder.addAttachment(attachment)