繁体   English   中英

webView不会加载页面

[英]webView does not load the page

我发现了问题...我发现berria1的值在网址末尾带有“ \\ n”。 他没有得到这个,但这就是问题所在。

我通过非常奇怪的事情,并且没有找到任何解释。

事实是,在应用程序中,我正在解析一些新闻并将其保存在CoreData ,然后在UITableView显示新闻列表,如果单击其中的一个,则会将我带到UIWebView在该位置带有完整链接的链接故事。 现在来了怪异的...

如果我将包含Web地址的CoreData恢复的变量传递给NSURL ,则不会加载,如果我将相同的方向传递给NSString并将此NSString传递给UIWebView ,则UIWebView会正常加载该变量。 以下是我的代码。

-(void)viewWillAppear:(BOOL)animated{

    [super viewWillAppear:animated];

    self.webView.delegate = self;

    NSString *berria1 = [[NSString alloc]init];
    berria1 = [NSString stringWithFormat:@"%@",self.abisua.noticia];

    NSString *berria2 = @"http://www.vitoria-gasteiz.org/we001/was/we001Action.do?idioma=eu&aplicacion=wb021&tabla=contenido&uid=u_47906a5c_14eabe80aeb__7fe9";

    NSURL *url = [NSURL URLWithString:berria1];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:urlRequest];

    NSLog(@"El contenido de la noticia 1 es %@", berria1);
    NSLog(@"El contenido de la noticia 2 es %@", berria2);

}

使用NSLog我看到变量的值与您在下图中看到的相同。

NSLog中两个变量的值

图片-调试窗口-网址为零

那可能正在发生?

谢谢。

它不是berria1,它持有URL的berria2。

NSURL *url = [NSURL URLWithString:berria2];

在这里,您可以尝试一下。该网站运行缓慢,因此加载需要一段时间

NSString *berria2 = @"http://www.vitoria-gasteiz.org/we001/was/we001Action.do?%20%20%20%20idioma=eu&aplicacion=wb021&tabla=contenido&uid=u_47906a5c_14eabe80aeb__7fe9";

NSURL *myUrl = [NSURL URLWithString:berria2];

NSURLRequest *myRequest = [NSURLRequest requestWithURL:myUrl];

[self.webView loadRequest:myRequest];

尝试这个。 我没有看到任何代码将请求加载到Webview。 但是我在那部分添加了代码。 将其替换为您的webview。

NSString *myurlString = [NSString stringWithFormat:@"%@",self.abisua.noticia];
NSString *cleanedUrl = [myurlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]];

NSURL *myUrl = [NSURL URLWithString:cleanedUrl];
NSURLRequest *myRequest = [NSURLRequest requestWithURL:myUrl];

UIWebView *mywebview = [[UIWebView alloc] init];
[mywebview loadRequest:myRequest];

嗨,我是iOS开发人员的新手,我已经看到了您的代码,因为您向网址添加了第二个字符串,为什么仍然理解,只是尝试添加第二个字符串

NSURL *url = [NSURL URLWithString:berria2];

我终于找到并解决了问题。

问题是该变量接收了Core Data并传递给NSString ,我不知道如何,但是链接已在URL “ \\ n”的末尾添加了此字符。

调试区域中的Berria1变量值为:

berria1 __NSCFString *  @"http://www.vitoria-gasteiz.org/we001/was/we001Action.do?idioma=eu&aplicacion=wb021&tabla=contenido&uid=u_47906a5c_14eabe80aeb__7fe9\n      "  0x0000000126d9e6c0

然后,当我将此值传递给NSURL并找到这些字符时, NSURL值传递给nil。

然后我解决了这个问题,将这个NSString传递给NSMutableString并在使用以下代码传递给NSURL之前擦除了这些字符:

NSString *berria1 = self.abisua.noticia;

NSMutableString * miCadena = [NSMutableString stringWithString: berria1];
[miCadena deleteCharactersInRange: [miCadena rangeOfString: @"\n      "]];

谢谢大家的帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM