1

我正在通过电子邮件正文发送 NSMutableString。它不起作用,因为它说 senderString 不能静态定位。帮助?

NSMutableString *senderString = [[NSMutableString alloc] init];

NSURL *mailURL = [NSURL URLWithString: @"mailto:email@address.com?cc=another@email.com&subject=My%20Subject%20Line&body=%@"], senderString;
[[UIApplication sharedApplication] openURL: mailURL];
4

1 回答 1

3

问题是您senderString在声明mailURL. 我假设您正在尝试将 设置senderString为电子邮件的正文。

如果是这种情况,您需要执行以下操作:

NSString *urlString = [NSString stringWithFormat:
  @"mailto:email@address.com?cc=another@email.com&subject=My%%20Subject%%20Line&body=%@",
 senderString];

值得一提的senderString是,如果尚未按照 url 的要求进行百分比转义,则需要先执行以下操作(即在stringWithFormat调用之前):

senderString = [senderString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

然后你可以mailURL像这样构造:

NSURL *mailURL = [NSURL URLWithString:urlString];

更新:按照 rmaddy 的建议,我添加了百分比转义%20并添加了转义senderString参数的建议。

于 2013-05-31T20:34:57.557 回答