iOS-以电子邮件文本形式发送的变量数据

iOS-以电子邮件文本形式发送的变量数据,ios,cocoa-touch,email,Ios,Cocoa Touch,Email,我有一个记分应用程序,其中包含球队名称、得分等变量。我希望能够将存储在这些变量中的数据通过电子邮件发送给任何人。换句话说,当游戏结束时,你可以选择向朋友/家人发送一封电子邮件,电子邮件文本中已经填写了球队名称和得分。我不希望它作为附件发送。我知道如何指定主题和主体,但不知道如何使用应用程序中的数据填充主体(该应用程序未存储)。我正在使用的代码: - (IBAction)email:(id)sender { MFMailComposeViewController *composer = [

我有一个记分应用程序,其中包含球队名称、得分等变量。我希望能够将存储在这些变量中的数据通过电子邮件发送给任何人。换句话说,当游戏结束时,你可以选择向朋友/家人发送一封电子邮件,电子邮件文本中已经填写了球队名称和得分。我不希望它作为附件发送。我知道如何指定主题和主体,但不知道如何使用应用程序中的数据填充主体(该应用程序未存储)。我正在使用的代码:

    - (IBAction)email:(id)sender {
MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
[composer setMailComposeDelegate:self];
if ([MFMailComposeViewController canSendMail]){
    [composer setToRecipients:[NSArray arrayWithObject:@"", nil]];
    [composer setSubject:@"Game Results Provided by Simple-Score"];
    [composer setMessageBody:@"" isHTML:NO];
    [composer setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    [self presentModalViewController:composer animated:YES];
}
我遇到的问题是,我通常显示int的方式是:

    [composer setMessageBody:@"%i", variable];

给出错误“无可见@interface for'MFMailComposeViewController'声明选择器'setMessageBody'”而不是我想要的输出。如果我在setMessageBody字段中输入静态文本,它将显示良好。

setMessageBody
没有将格式字符串作为参数,因此这是错误的:

[composer setMessageBody:@"%i", variable];
它将一个
NSString
对象作为参数,因此您需要如下内容:

[composer setMessageBody:[NSString stringWithFormat:@"%i", variable]];

显然,假设
变量
是正确的类型。

我看不出问题所在。如果您知道如何指定消息体,请创建NSString(可能是HTML格式的)并用数据填充它。不要在不告诉我们错误是什么的情况下对堆栈溢出说“抛出错误”。为什么您希望每个方法都采用格式字符串?你为什么不看一下文档呢?谢谢吉姆,这是我需要的,但不知怎么错过了。