作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我打开一个 UIwebview 并从其中一个网站获得一些 URL,然后我将这些 URL 保存在一个数组中,现在我想在 webview 中以一定的时间间隔一个一个地打开这些 URL。我已经尝试通过运行 for 循环并加载每个 url,但是它并没有打开每个 url,在循环完成后它只打开循环中的最后一个 url。这是我的循环代码:
for(int z = 0; z<[FinalUrlArray count]; z++){
sleep(20.0);
NSLog(@"URLs are %@", [FinalUrlArray objectAtIndex:z]);
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[FinalUrlArray objectAtIndex:z]]]];
}
如果我犯了一些错误,任何人都可以建议我,或者任何人都可以帮助我如何做。
编辑:
-(void)buttonPressed:(id)sender{
FinalUrlArray = [[NSMutableArray alloc] init]; //CODE FOR creating FinalURLArray
for(int z = 0; z<[FinalUrlArray count]; z++){
NSLog(@"URLs are %@", [FinalUrlArray objectAtIndex:z]);
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: [FinalUrlArray objectAtIndex:z]]]];
}
}
- (void)webViewDidFinishLoad:(UIWebView *)webView1 {
NSLog(@"Current Url is %@", currentURL);
}
最佳答案
我认为您的问题是由于以下原因之一:
1) 你尝试加载这些 url 的速度太快了。
2) sleep 功能卡住所有应用程序。使用任务调度代替它怎么样?
已更新
要安排一项任务,您可以使用这样的东西:
NSTimer *timer;
if (!myTimer) {
myTimer = [NSTimer scheduledTimerWithTimeInterval:20
target:self selector:@selector(doTimer:)
userInfo:nil
repeats:YES];
}
其中“doTimer:”是一个函数:
- (void)doTimer:(NSTimer *)timer
要安排很多任务,您还可以尝试安排具有循环增加的各种间隔的任务。它允许在两个任务的开始之间设置 20 秒的间隔。如果您需要在不做任何更改的情况下实现您编写的相同代码,那么我建议您编写“repeats:NO”并在前一个任务的末尾安排另一个任务。它允许在一个任务的结束和另一个任务的开始之间设置 20 秒的间隔。
关于ios - 在 uiwebview 中加载 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9714676/
我是一名优秀的程序员,十分优秀!