gpt4 book ai didi

objective-c - 如何使用 setMessageBody 将 NSString 添加到电子邮件

转载 作者:行者123 更新时间:2023-12-03 17:56:40 25 4
gpt4 key购买 nike

我正在尝试实现自动填充电子邮件。我的 emailviewcontroller 在单独的测试环境中正确弹出,但我无法弄清楚如何将字符串添加到消息正文。基本上,我在 GUI 的根 Controller 上有三个按钮,用于设置三个字符串的值。我想要的只是在消息正文中重现这三个字符串(如果可能的话用逗号分隔)。这是到目前为止我的代码:

    -(IBAction)displayComposerSheet
{

NSArray *recipient = [NSArray arrayWithObjects:@"testemail@office.co.uk", nil];

if([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:@"Place holder ... this is a test subject"];
[mailViewController setMessageBody: isHTML:NO];
[mailViewController setToRecipients:recipient];


[self presentModalViewController:mailViewController animated:YES];
}
else
NSLog(@"Device is unable to send email in its current state");

}

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithREsult:(MFMailComposeResult)result error:(NSError *)error
{
[self dismissModalViewControllerAnimated:YES];
}
- (IBAction)addString1:(id)sender {

NSString *string1;
string1 = @"teststring1";

}

- (IBAction)addString2:(id)sender {

NSString *string2;
string2 = @"teststring2";
}

- (IBAction)addString3:(id)sender {
NSString *string3;
string3 = @"teststring3";
}

最佳答案

首先,您需要在 .h 文件中声明字符串,以便可以在整个 .m 中使用它们

@interface ViewController : UIViewController
{
NSString *string1;
NSString *string2;
NSString *string3;
}

然后在邮件编辑器中,您将使用格式化字符串按顺序显示字符串(通过 %@ 转义)

    [mailViewController setMessageBody:[NSString stringWithFormat:@"%@, %@, %@",string1,string2,string3] isHTML:NO];

当然,在头文件中声明字符串后,无需在本地声明它们,因此将 IBActions 更改为如下所示:

   - (IBAction)addString1:(id)sender 
{
string1 = @"teststring1";
}

- (IBAction)addString2:(id)sender
{
string2 = @"teststring2";
}

- (IBAction)addString3:(id)sender
{
string3 = @"teststring3";
}

此外,为了避免将不需要的 (null) 实例插入到消息正文中,我建议您在 viewDidLoad 中为这些字符串指定一个初始空白值。这样,开始时将没有任何内容,但它们不会为零。

- (void)viewDidLoad
{
[super viewDidLoad];
string1 = @"";
string2 = @"";
string3 = @"";
}

关于objective-c - 如何使用 setMessageBody 将 NSString 添加到电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12287277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com