#iphone #cocoa-touch #email
#iPhone #cocoa-touch #Адрес электронной почты
Вопрос:
Я прочитал несколько сообщений, касающихся MFMailViewController, и задаюсь вопросом, могу ли я включить содержимое десятичной переменной, которую я использую в своем приложении для Iphone для сохранения результата некоторых вычислений, в тело сообщения электронной почты, которое будет отправлено из моего приложения для iPhone.
Вот код для вычисления, которое я использую в своем приложении для вычисления и отображения результата в текстовом поле на экране:
GPM1 = [NSDecimalNumber decimalNumberWithString: GPMinput1.text];
GPM2 = [NSDecimalNumber decimalNumberWithString: GPMinput2.text];
Result = [GPM1 decimalNumberByDividingBy:GPM2] ;
GPMresult.text = [numberFormatter stringFromNumber:Result];
Я хочу отобразить содержимое десятичной переменной «Результат» как часть тела электронного письма. Например: ваш результат GPM = «Результат».
У кого-нибудь есть идея?
Ответ №1:
Попробуйте это
float GPM1 = [GPMinput1.text floatValue];
float GPM2 = [GPMinput2.text floatValue]];
float Result = GPM1/GPM2 ;
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
NSString *pResult=[NSString stringWithFormat:@"GPM result = %.4f",Result];
[controller setMessageBody: pResult isHTML:NO];
[controller setSubject:@"Subject"];
[self presentModalViewController:controller animated:YES];
[controller release]
Комментарии:
1. Спасибо, но в теле электронного письма отображается «Результат GPM = 0.000», в то время как должно отображаться «Результат GPM = 6.1234», где 6.1234 — это содержимое десятичной переменной «Результат». Похоже, что предварительная переменная в вашем коде не смогла прочитать десятичное значение в результате. Можете ли вы, пожалуйста, посоветовать другую рабочую альтернативу?
2. Также просто упомяну, что я объявляю результат как объект NSDecimalNumber.
Ответ №2:
Вы должны использовать MFMailComposeViewController на iOS 3.0 и более поздних версиях и реализовать протокол MFMailComposeViewControllerDelegate:
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"My Subject"];
[controller setMessageBody:@"Hello there." isHTML:NO];
if(controller) {
[self presentModalViewController:controller animated:YES];
}
[controller release];
Когда пользователь отправил письмо, вам перезвонят следующим способом:
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
if (result == MFMailComposeResultSent) {
NSLog(@"It has been sent.");
}
[self dismissModalViewControllerAnimated:YES];
}
Комментарии:
1. @ckurse Спасибо за ваш ответ, я ищу более конкретный ответ на конкретный случай, который я упомянул в своем вопросе (чтобы включить содержимое некоторой переменной, которую я использую в своем приложении, в текст отправляемого электронного письма, например, если переменная «Result», о которой я упоминал ранее в моем вопросе, имеет значение 6.12345, тогда я хочу, чтобы текст электронного письма был чем-то вроде: «GPM result = 6.12345». Есть идеи, как это сделать с помощью MFMailComposeController?