【问题标题】:Attached NSMutableArray data in E-mail Body?在电子邮件正文中附加 NSMutableArray 数据?
【发布时间】:2012-05-17 22:26:10
【问题描述】:

我是 Iphone 编程新手。我的数组存储 UIlabel 以及属性。对于 Exp、Text、TextColor、背景颜色等。现在我想在电子邮件正文中发送所有数组数据。 这是我的代码。

    NSUserDefaults *userDefault=[NSUserDefaults standardUserDefaults];
    NSData *myDecodedObject = [userDefault objectForKey: [NSString 
            stringWithFormat:@"sample"]];
    NSArray *arr= [[NSArray alloc] init];
    arr= [NSKeyedUnarchiver unarchiveObjectWithData:myDecodedObject]; 
    NSString *string = [arr componentsJoinedByString:@"\n"];
    NSString *emailBody = string;
    NSLog(@"Testing %@", string);
    [mailer setMessageBody:emailBody isHTML:NO];
    [self presentModalViewController:mailer animated:YES];
    [mailer release];

我的数组显示存储在其中的所有对象并显示字节。此时我的数组包含 5 个 UIlabel。现在我想在电子邮件正文中发送所有这些 UIlabel。但是 NSLog 我看到了这个。

测试UILabel:0x8123760;帧 = (135.5 136; 99 30);文本 = 'Fddddddddddddddsaafgghjkl ...'; clipsToBounds = YES;隐藏=是;层=CALayer:0x8161590

UILabel: 0x81619b0;帧 = (148 323; 69 15);文本 = 'Xxxxxxxxxxx'; clipsToBounds = YES;层=CALayer:0x8161a50

UILabel: 0x8161b70;帧 = (140 341; 56 19);文本 = 'Xxxxxxx'; clipsToBounds = YES;层 = CALayer: 0x81618f0

UILabel:0x8161d70;帧 = (69.5 121.5;99 145);文本 = 'Fddddddddddddddsaafgghjkl ...'; clipsToBounds = YES;隐藏=是;层=CALayer:0x8161e00

UILabel: 0x8161f10;帧=(108 321;99 145);文本 = 'Fddddddddddddddsaafgghjkl ...'; clipsToBounds = YES;层 = CALayer: 0x8161f80

未在电子邮件中看到任何数据。所以请建议在电子邮件中发送数组数据的最佳方法是什么。谢谢

【问题讨论】:

  • 假设mailer 是正确的,我希望正文中的数据与您看到的记录相同。你能在调用setMessageBody 之前显示NSLog(@"mailer: %@", mailer); 的结果吗? (另外NSArray *arr= [[NSArray alloc] init]; 是泄漏。)
  • @PhillipMills 当我使用 .NSLog(@"mailer: %@", mailer);我看到这个 NSLog.mailer:

标签: iphone ios xcode nsmutablearray mfmailcomposeviewcontroller


【解决方案1】:

使用MFmailComposer 的addDataAttachements 方法从数组中添加数据

     NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr1];
       NSLog(@"Testing %@", data);
      [controller addAttachmentData:data mimeType:@"application/octet-stream";  
      fileName:nil]

【讨论】:

  • @萨阿德当我上述方法使用我看到这在NSlong..Testing 跨度>
  • 但在电子邮件中看不到任何数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 2015-07-30
  • 2023-03-07
相关资源
最近更新 更多