#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:НЕТ];