0

在我获取网址以访问网站的代码中,我遇到了警告。该应用程序仍会加载,但 url 不会加载 Web 视图。这是我的代码:

   NSString *strWebsiteUlr = [NSString stringWithFormat:@"https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1359826314&rver=6.1.6195.0&wp=MBI_SSL&wreply=https:%2F%2Flogin.secure.co1.msn.com%2Fwlsignin.aspx%3Fru%3Dhttp%253a%252f%252"];
NSURL *url = [NSURL URLWithString:strWebsiteUlr];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[eMail loadRequest:requestObj];

使用此代码,我收到警告说:比数据参数更多的转换百分比。我猜它的意思是我的百分比符号与参数不对应;但是,这是 url 的一部分,当我尝试加载它时,webview 保持空白。关于如何解决这个问题的任何想法?

4

1 回答 1

4

在这种情况下您不需要使用stringWithFormat:,因为您没有尝试在字符串中插入任何值。将您的代码更改为以下内容:

NSString *strWebsiteUlr = @"https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1359826314&rver=6.1.6195.0&wp=MBI_SSL&wreply=https:%2F%2Flogin.secure.co1.msn.com%2Fwlsignin.aspx%3Fru%3Dhttp%253a%252f%252";
NSURL *url = [NSURL URLWithString:strWebsiteUlr];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[eMail loadRequest:requestObj];

您也可以strWebsiteUlr完全跳过该变量,然后执行以下操作:

NSURL *url = [NSURL URLWithString:@"https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1359826314&rver=6.1.6195.0&wp=MBI_SSL&wreply=https:%2F%2Flogin.secure.co1.msn.com%2Fwlsignin.aspx%3Fru%3Dhttp%253a%252f%252"];

如果您确实想在字符串中插入值,stringWithFormat:您可以使用另一个百分比来转义百分号,例如%%.

于 2013-02-03T04:07:57.127 回答