gpt4 book ai didi

ios - 在 uiwebview 中加载 URL

转载 作者:行者123 更新时间:2023-11-28 17:36:18 25 4
gpt4 key购买 nike

我打开一个 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 功能卡住所有应用程序。使用任务调度代替它怎么样?

已更新

The original article is here

要安排一项任务,您可以使用这样的东西:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com