2016-07-25 22 views
1

我试图学习IOS编程,真正的第一步,并且找不到Swift示例,用于完成类代码的问题。 网页正在加载,但我从来没有得到回应。 这显然是一些与“扩展”的一部分,我可能不需要委托通过UIWebView获取 - 来自URL的响应SWIFT

import UIKit 

class VkLoginViewController: UIViewController { 

    @IBOutlet weak var webView: UIWebView! 
    var delegate:UIWebViewDelegate! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let link = String.localizedStringWithFormat("http://api.vk.com/oauth/authorize?client_id=%@&scope=email,photos,offline&redirect_uri=http://api.vk.com/blank.html&display=touch&response_type=token", Setup.VK_AUTH_SCHEME) 
     NSLog(link) 
     delegate = self 
     UIWebView.loadRequest(webView)(NSURLRequest(URL: NSURL(string: link)!)) 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

extension VkLoginViewController : UIWebViewDelegate{ 
    func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool { 

     let str = request.URL?.absoluteString 
     NSLog(str!) 
     return true 
    } 
} 

我从来没有第二个的NSLog的消息

回答

3

修改代码以

class VkLoginViewController: UIViewController { 

    @IBOutlet weak var webView: UIWebView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let link = String.localizedStringWithFormat("http://api.vk.com/oauth/authorize?client_id=%@&scope=email,photos,offline&redirect_uri=http://api.vk.com/blank.html&display=touch&response_type=token", Setup.VK_AUTH_SCHEME) 
     NSLog(link) 
     webView.delegate = self 
     webView.loadRequest(webView)(NSURLRequest(URL: NSURL(string: link)!)) 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

} 

extension VkLoginViewController : UIWebViewDelegate{ 
    func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool { 

     let str = request.URL?.absoluteString 
     NSLog(str!) 
     return true 
    } 
} 

希望这有助于

+0

非常感谢!有什么不同?你能解释一下什么是错的,什么是固定的? – user2976267

+0

你声明不需要属性委托,你的webview委托需要自己,如果它有效,请投票并标记为已回答! – iSashok