UIwebView - 在dismissView上加载它所留下的URL

时间:2012-05-23 09:42:29

标签: ios uiwebview nsuserdefaults

我有以下代码,允许我每次加载一个设置的URL,放在我的viewDidLoad方法中:

NSString *urlAddress =  @"http://google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_webView loadRequest:requestObj];

现在,用户当然可以从这里转到任何网页,如果用户决定关闭我希望他们能够返回的视图。

现在我通过阅读各种论坛和搜索来获得此代码:

再次查看viewDidLoad - 现在看起来像这样:

NSURLRequest *currentRequest = [_webView request];
NSURL *currentURL = [currentRequest URL];

if(currentURL != nil) 
{
NSString *urlAddress = currentRequest;
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_webView loadRequest:requestObj];
}
else {
NSString *urlAddress =  @"http://google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_webView loadRequest:requestObj];
}

在我的viewDidUnLoad中我有这个:

-(void)viewDidUnload {

NSURLRequest *currentRequest = [_webView request];
NSURL *currentURL = [currentRequest URL];
NSLog(@"Current URL is %@", currentURL.absoluteString);


[NSURLConnection connectionWithRequest:currentRequest delegate:self];

}

a)我是否正确地实现了这一目标?

b)我在这一行上创建了一个警告:`NSString * urlAddress = currentRequest; 这是:

  

使用类型为“NSURLRequest * __ strong”的表达式初始化“NSString * __ strong”的指针类型不兼容

感谢任何帮助: - )

谢谢: - )

PS I started this problem out in this question, but felt it was worth a new one, so forgive me if you do not think the same.

`

1 个答案:

答案 0 :(得分:2)

NSString *urlAddress = currentRequest;
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_webView loadRequest:requestObj];

可能只是

[_webView loadRequest:currentRequest];

您可能想尝试在用户解除视图/视图控制器时不卸载视图/视图控制器,然后在用户将其恢复时不会有时间延迟。 (也许你可以改为隐藏而不是卸载它,例如当用户解散它时,或者将它发送到导航控制器堆栈的后面,假设你有一个作为根视图控制器)。

P.S。 您的警告是因为您尝试将NSURLRequest对象分配给NSString对象。