Отправка массива по электронной почте на iphone - PullRequest
1 голос
/ 17 апреля 2010

Эй, ребята, мне нужно отправить содержимое NSMutableArray по электронной почте.У меня есть функция рассылки, но я не уверен, как поместить содержимое массива в строку NSS, которая будет отображаться в электронном письме друг под другом.Есть ли способ поместить все содержимое массива в строку с помощью команды HTML nextline между каждым элементом массива?

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

Спасибо

Ответы [ 3 ]

3 голосов
/ 17 апреля 2010

Я предлагаю вам преобразовать ваш массив в текстовую строку, используя JSON. Затем поместите текст в электронное письмо, отправьте его и используйте JSON на принимающей стороне для восстановления массива. Вы можете получить версию JSON для iPhone под названием TouchJSON здесь .

Клаус

1 голос
/ 17 апреля 2010

Этот процесс известен как сериализация. У Apple есть инструкция , которую стоит прочитать.

0 голосов
/ 17 апреля 2010

Самый простой способ - вызвать метод массива description, который вернет читабельный список в NSString.

Если вам нужно восстановить массив из электронной почты. Вам нужно будет сохранить массив как xml plist, используя метод writeToFile:. Затем прочитайте файл обратно как строку. Для восстановления вам потребуется извлечь xml из электронного письма, поместить его в строку NSString, записать ее в файл, а затем прочитать обратно в NSArray.

(IIRC, раньше был способ записи в NSString, как если бы это был файл, но я не могу вспомнить, как это сделать больше. Возможно, запись в NSFileHandle и мгновенное чтение назад.)

Edit:

Не могли бы вы объяснить подробнее о Метод описания массива, пожалуйста.

Вот так:

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

... печать:

myArray=(
    Obj1,
    Obj2,
    Obj3
)

Для вашего проекта вы можете сделать:

NSString *arrayString=[myArray description];

Это также descriptionWithLocale, который будет печатать массив на разных языках. У меня нет готового примера для этого. См. NSArray , NSLocale и Руководство по программированию локалей

...