我有一个记分应用程序,其中包含团队名称,分数等变量。我希望能够将存储在这些变量中的数据发送给任何人,并通过电子邮件发送给任何人。换句话说,当游戏完成后,您可以选择向朋友/家庭成员发送电子邮件,其中团队名称和分数已填写在电子邮件的文本中。我宁愿它不作为附件发送。我知道如何指定主题和正文,但不知道如何使用应用程序中的数据填充正文(不会存储)。我正在使用的代码:
- (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为'MFMailComposeViewController'声明选择器'setMessageBody'”而不是我想要的输出。如果我在setMessageBody字段中输入静态文本,则显示正常。
答案 0 :(得分:1)
setMessageBody
不会将格式字符串作为参数,因此这是错误的:
[composer setMessageBody:@"%i", variable];
它需要NSString
个对象作为参数,所以你需要这样的东西:
[composer setMessageBody:[NSString stringWithFormat:@"%i", variable]];
显然假设variable
是正确的类型。