0

我正在开发一个应用程序,我想将字符串显示stringValue为一个变量,以便在有人想通过电子邮件从我的应用程序共享某些内容时显示。

- (IBAction)openMail:(id)sender {
    if ([MFMailComposeViewController canSendMail])
    {
        MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
        mailer.mailComposeDelegate = self;
        [mailer setSubject:@"My App"];
        NSArray *toRecipients = [NSArray arrayWithObjects:@"tony@starkindustries.com", 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];显示为“Rating Is: some_number ”?也许我%@写错了部分?任何帮助,将不胜感激。提前致谢!

4

3 回答 3

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

只要[self.app.rating stringValue]返回一个有效的NSString对象,就可以解决问题(尽管%@说明符对于其他可可对象(例如NSNumber等)也可以正常工作,因此如果self.app.rating是这样,NSNumber您甚至可以在不向其发送stringValue消息的情况下格式化字符串)。

有关字符串格式的更多信息,您可以在此处查看 Apple 的文档

于 2013-01-06T18:38:47.703 回答
0

尝试以下操作:

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

[self.app.rating] 需要返回一个字符串,才能使用上面的代码。

希望它有用并回答您的问题。

于 2013-01-06T18:39:09.113 回答
0

你漏掉了stringWithFormat:

你需要:

NSString *emailBody = [NSString stringWithFormat:@"Rating is: %@", [self.app.rating stringValue]];
于 2013-01-06T19:24:15.727 回答