Как поделиться значениями NSMutableArray с MFMailComposeViewController

#ios #objective-c #sqlite #mfmailcomposeviewcontroller #social-framework

#iOS #objective-c #sqlite #mfmailcomposeviewcontroller #социальная платформа

Вопрос:

Я получаю значения из базы данных и передаю эти значения в NSMuatbleArray. Затем я отправляю массив значений в mail. Как поделиться значениями с setMessgaeBody:

 if (sqlite3_prepare_v2(database, sql, -1, amp;statement, NULL) == SQLITE_OK) {
 // We "step" through the results - once for each row.
 while (sqlite3_step(statement) == SQLITE_ROW) {


 sk_code = [[NSString alloc] initWithUTF8String:
 (const char *) sqlite3_column_text(statement, 4)];


 NSLog(@"sk_code %@",sk_code);


 [product_sku_array addObject:sk_code];


  // To address
 NSArray *toRecipents = [NSArray arrayWithObject:@"test@gmail.com"];

 MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];

 //  mailController.mailComposeDelegate = self;

 [mailController setSubject:@"Test"];

 [mailController setMessageBody:product_sku_array isHTML:NO];

 [mailController setToRecipients:toRecipents];


 [self presentViewController:mailController animated:YES completion:nil];


 }
  

NSLog:

 product_sku_array (
    123
)

 sk_code test1
 product_sku_array (
    123,
    test1
)
 temp inside is 123,test1
  

введите описание изображения здесь

Ответ №1:

Правильно инициализируйте свой массив, а затем используйте

[mailController setMessageBody:[product_sku_array componentsJoinedByString:@»,»] isHTML:НЕТ];

Комментарии:

1. Я получаю только первое значение из массива. product_sku_array ( 123, test1)

2. Я получаю только значение 123, я не получил test1

3. nsstring* temp = [product_sku_array componentsJoinedByString:@»,»];

4. проверьте временную строку, а также проверьте свой массив.

5. если temp в порядке, тогда используйте [mailController setMessageBody:temp isHTML:НЕТ];

Ответ №2:

[mailController setMessageBody:] принимает строковый параметр, поэтому,

возьмите NSMutableString и добавьте каждый объект массива в свою единственную строку

Нравится

string = [string appendString:[NSString stringWithFormat:»%@», [array objectAtIndex:i]]];

затем установите эту строку в тело сообщения, например,

[mailController setMessageBody:строка isHTML:НЕТ];