我似乎已经堕落了一些似乎应该非常简单的东西!
如何使用用户输入NSUserDefaults的字符串填充电子邮件正文?
基本上有一个按钮其他器皿会在NSUserDetaults中输入诸如“YES”之类的刺。如何使电子邮件正文包含那些存储的字符串。
这是我目前的代码:
- (IBAction)buttonPressed:(id)sender {
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"SYS"];
[controller setMessageBody:@"How do I make this the content of NSUSERDEFAULTS?" isHTML:NO];
controller.navigationBar.barStyle = UIBarStyleBlack;
[self presentViewController:controller animated:YES completion:nil];
任何帮助将不胜感激!
谢谢!
使用您的代码,字符串显示为:Yes,No,Maybe,No way,
如何更改格式以使其显示
是的,
不,
可能,
没办法。
再次感谢您的时间!
答案 0 :(得分:1)
你想要的是一个换行符,可以用\n
(换行符)来实现。
NSArray *storedStrings = [[NSUserDefaults standardUserDefaults] objectForKey:@"yourStoredKey"];
NSMutableString *messageBody = [NSMutableString string];
for (NSString *aString in storedStrings) {
[messageBody appendFormat:@"%@,\n\n", aString];
}
[messageBody deleteCharactersInRange:NSMakeRange(messageBody.length-3, 3)];
[controller setMessageBody:messageBody isHTML:NO];
我在for循环后添加的那一行将删除字符串中的最后三个字符,即两个换行符和逗号。
答案 1 :(得分:0)
试试这个方法
- (IBAction)buttonPressed:(id)sender {
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"SYS"];
[controller setMessageBody:[[nsstring stringwithformat@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"yourStoredKey"]] isHTML:NO];
controller.navigationBar.barStyle = UIBarStyleBlack;
[self presentViewController:controller animated:YES completion:nil];