在iphone上通过电子邮件发送数组

时间:2010-04-16 21:02:01

标签: iphone xcode email nsstring nsmutablearray

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

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

由于

3 个答案:

答案 0 :(得分:3)

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

克劳斯

答案 1 :(得分:1)

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

答案 2 :(得分:0)

最简单的方法是调用数组的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