2013-01-06 3 views
0

Я работал над приложением, и я хотел отобразить строку stringValue как переменную, отображаемую, когда кто-то хочет поделиться чем-то из моего приложения по электронной почте.Печать строки в MailComposeViewController

- (IBAction)openMail:(id)sender { 
    if ([MFMailComposeViewController canSendMail]) 
    { 
     MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init]; 
     mailer.mailComposeDelegate = self; 
     [mailer setSubject:@"My App"]; 
     NSArray *toRecipients = [NSArray arrayWithObjects:@"[email protected]", nil]; 
     [mailer setToRecipients:toRecipients]; 
     NSString *emailBody = [@"Rating is: %@", [self.app.rating stringValue]; 
     [mailer setMessageBody:emailBody isHTML:NO]; 
     [self presentModalViewController:mailer animated:YES]; 
    } 

Как я могу сделать [self.app.rating stringValue]; отображаться как "рейтинг: some_number", когда вы OpenMail? Возможно, я неправильно написал %@? Любая помощь будет оценена по достоинству. Заранее спасибо!

ответ

1
[NSString stringWithFormat:@"Rating is: %@", [self.app.rating stringValue]]; 

будет делать трюк, при условии, что [self.app.rating stringValue] возвращает действительный NSString объект (хотя %@ спецификатора будет работать нормально для других объектов какао, как NSNumber и т.д., так что если self.app.rating является NSNumber можно форматировать строку без даже отправок сообщение stringValue).

Более подробную информацию о строке форматирования вы можете посмотреть на компании Apple documentation here

0

Попробуйте следующее:

NSString *emailBody = [NSString stringWithFormat:@"Rating is: %@", [self.app.rating stringValue]; 

[self.app.rating] должна возвращать строку, чтобы использовать код, приведенный выше ,

Надеюсь, что это полезно и ответит на ваш вопрос.

0

вы уезжаете из stringWithFormat:

вам нужно:

NSString *emailBody = [NSString stringWithFormat:@"Rating is: %@", [self.app.rating stringValue]]; 
Смежные вопросы