Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用主线程swift文件访问主线程变量_Ios_Multithreading_Swift_Uiwebview - Fatal编程技术网

Ios 如何使用主线程swift文件访问主线程变量

Ios 如何使用主线程swift文件访问主线程变量,ios,multithreading,swift,uiwebview,Ios,Multithreading,Swift,Uiwebview,我是一个非常有经验的Android开发人员,但对使用swift的iOS开发人员来说非常陌生。现在,我已经使用canInitWithRequest 2单独的swift文件设置了UIWebview和NSURL协议。canInitWithRequest方法工作得很好,但我需要访问UIWebview对象才能调用UIWebview对象上的函数 比如说。如果request==google.com,那么UIWebview.something 在Android中,为了与主活动线程对话,我只需创建一个接口,在主线

我是一个非常有经验的Android开发人员,但对使用swift的iOS开发人员来说非常陌生。现在,我已经使用canInitWithRequest 2单独的swift文件设置了UIWebview和NSURL协议。canInitWithRequest方法工作得很好,但我需要访问UIWebview对象才能调用UIWebview对象上的函数

比如说。如果request==google.com,那么UIWebview.something

在Android中,为了与主活动线程对话,我只需创建一个接口,在主线程中实现它,现在我可以访问主活动类上的所有内容


谢谢您的帮助。

您可能正在中查找方法-webView\uU1:shouldStartLoadWithRequest:navigationType:

通过实现此接口,您可以拥有不同的对象,例如单独Swift文件中的对象确定是否加载NSURLRequest,甚至先运行自定义行为:

extension MyObject: UIWebViewDelegate {
    func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
        if request.URL == NSURL(string: "google.com") {
            // Do your custom behavior...
            webView.something()
        }
        // Allow the webView to load the request
        return true
    }
}

初学者:线程并没有真正进入它。它只是标准的面向对象编程,在Java、C、Objective-C或Swift中也是如此;对象需要相互引用才能进行交互,或者您可以使用某种消息传递,如NSNotificationCenter,但我认为这不是您想要的。对于canInitWithRequest函数来说,开始加载一个请求听起来不是一个好的程序设计——这个词可能意味着它应该返回一个布尔值。其他一些代码应该可以做到这一点。如果是CANITREQ,那么loadreq是一种类似于anks的东西,但这不会选择ajax调用。我们通过异步调用加载所有页面。shouldStartLoadWithRequest只接收回发邮件