【问题标题】:Sending array through email on iphone在 iphone 上通过电子邮件发送数组
【发布时间】:2010-04-16 21:02:01
【问题描述】:

大家好,我需要通过电子邮件发送 NSMutableArray 的内容。我有一个邮件功能,但我不确定如何将数组的内容放入一个 NSString 以显示在彼此下方的电子邮件中。有没有办法在每个数组元素之间使用 HTML nextline 命令将数组的所有内容放入字符串中?

 NSString *emailBody = @"Need to put the body here";

谢谢

【问题讨论】:

    标签: iphone xcode email nsstring nsmutablearray


    【解决方案1】:

    我建议您使用 JSON 将数组转换为文本字符串。然后将文本放入电子邮件中,将其发送出去,并在接收端使用 JSON 来重构数组。 您可以获得 iPhone 版本的 JSON,称为 TouchJSON here

    克劳斯

    【讨论】:

      【解决方案2】:

      此过程称为序列化。苹果有一个guide,值得一读。

      【讨论】:

        【解决方案3】:

        最简单的方法是调用数组的description 方法,该方法将在NSString 中返回人类可读的plist。

        如果您需要从电子邮件中重构数组。您需要使用writeToFile: 方法将数组保存为xml plist。然后将文件作为字符串读回。要重组,您需要从电子邮件中提取 xml,将其放入 NSString,将其写入文件,然后将其读回 NSArray。

        (IIRC,曾经有一种方法可以像写入文件一样写入 NSString,但我不记得该怎么做了。可能是写入 NSFileHandle 并立即读取它。)

        编辑:

        您能否详细解释一下 数组的描述方法。

        像这样:

        NSArray *myArray=[NSArray arrayWithObjects:@"Obj1",@"Obj2",@"Obj3",nil];
        NSLog(@"myArray=%@",[myArray description]);
        

        ...打印:

        myArray=(
            Obj1,
            Obj2,
            Obj3
        )
        

        对于您的项目,您可以这样做:

        NSString *arrayString=[myArray description];
        

        这也是一个descriptionWithLocale,它将以不同的语言打印数组。我没有一个现成的例子。见NSArrayNSLocaleThe Locales Programming Guide

        【讨论】:

        • 我不需要从电子邮件中重建数组。请您详细解释一下数组的描述方法。
        猜你喜欢
        • 2020-12-21
        • 1970-01-01
        • 1970-01-01
        • 2015-03-12
        • 1970-01-01
        • 1970-01-01
        • 2012-01-07
        • 2012-04-27
        相关资源
        最近更新 更多