Skip to content

Instantly share code, notes, and snippets.

@twilly86
Last active September 5, 2021 07:25
Show Gist options
  • Save twilly86/8231c483d3cbd315796c to your computer and use it in GitHub Desktop.
Save twilly86/8231c483d3cbd315796c to your computer and use it in GitHub Desktop.
Load WKWebView in Background Process
var start = NSDate()
for i in 0...9
{
self.webViews.append(WKWebView())
}
let end = NSDate();
NSLog("creating webviews \(end.timeIntervalSinceDate(start))")
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),{
// Perform long running process
var start = NSDate()
for item in self.webViews
{
var url : NSURL? = NSURL(string:"http://google.com")
var req = NSURLRequest(URL:url!)
item.loadRequest(req)
}
let end = NSDate();
NSLog("done loading requests \(end.timeIntervalSinceDate(start))")
dispatch_async(dispatch_get_main_queue(),{
var start = NSDate()
self.scrollView!.contentSize = CGSizeMake(self.view.bounds.width, (self.view.bounds.height - 50.0) * CGFloat(11))
var i = 0
for item in self.webViews
{
item.frame = CGRectMake(0, self.view.bounds.height * CGFloat(i),
self.view.bounds.width, self.view.bounds.height)
self.scrollView!.addSubview(item)
i++
}
let end = NSDate();
NSLog("done adding webviews to frame \(end.timeIntervalSinceDate(start))")
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment