首页 文章

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

提问于
浏览
0

我有以下代码,允许我每次加载一个设置的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 回答

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

    可能只是

    [_webView loadRequest:currentRequest];
    

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

    附:您的警告是因为您尝试将NSURLRequest对象分配给NSString对象 .

相关问题