-1

チーム名やスコアなどの変数を持つスコアキーピングアプリを持っています。これらの変数に保存されているデータを取得して、誰にでもメールで送信できるようにしたいと思います。つまり、ゲームが完了したら、チーム名とスコアがすでにメールのテキストに入力されている友達/家族にメールを送信することを選択できます。添付ファイルとして送信しない方がいいです。件名と本文を指定する方法は知っていますが、アプリからのデータ(保存されない)を本文に入力する方法はわかりません。私が使用しているコード:

    - (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];

必要な出力の代わりに、「「MFMailComposeViewController」の表示された@interfaceがセレクター「setMessageBody」を宣言していません」というエラーが表示されます。setMessageBodyフィールドに静的テキストを入力すると、正常に表示されます。

4

1 に答える 1

1

setMessageBody引数としてフォーマット文字列を受け取らないので、これは間違っています:

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

オブジェクトを引数として取るNSStringので、次のようなものが必要です。

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

variable明らかに、それが正しいタイプであると仮定します。

于 2013-01-11T19:18:42.537 に答える