我正在尝试使用新的WKWebView和 Swift语言使用Web查看器创建简单的OS X应用程序(而不是iOS).我希望利用WKWebView类的更快性能. 在项目AppDelegate.swift文件中,我有以下代码: import Cocoaimport WebK
在项目AppDelegate.swift文件中,我有以下代码:
import Cocoa import WebKit @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate { @IBOutlet weak var window: NSWindow! @IBOutlet var containerView : NSView! = nil var webView: WKWebView? var url = NSURL(string:"http://www.google.com/") var req = NSURLRequest(URL: url) self.webView!.loadRequest(req) }
在MainMenu.xib文件中,我向主窗口添加了一个Custom View对象,并将其链接到@IBOutlet var containerView.
我在最后两行代码中收到错误消息:
var req = NSURLRequest(URL:url)
‘AppDelegate. Type’ does not have a member named ‘url’
self.webView!.loadRequest(REQ)
Expected declaration
非常感激任何的帮助.
我花了一段时间才弄明白.import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate { @IBOutlet weak var window: NSWindow! var viewController : ViewController! func applicationDidFinishLaunching(aNotification: NSNotification) { self.viewController = ViewController(nibName:"ViewController", bundle:nil) self.window.contentView = self.viewController!.view self.window.contentViewController = self.viewController! self.viewController!.view.frame = self.window.contentView.bounds; } ... }
这基本上取代了我的NSWindow中的任何东西,并且我自己制作了视图和视图控制器.我对ViewController类的实现如下所示:
import Cocoa import WebKit class ViewController: NSViewController { var webView: WKWebView? override func loadView() { self.webView = WKWebView() self.view = self.webView! var url = NSURL(string:"http://www.google.com/") var req = NSURLRequest(URL: url!) self.webView!.loadRequest(req) } }
所以实际上我发生的是创建一个自定义视图控制器,将WKWebView设置为视图,然后将其设置和视图设置为NSWindow视图控制器和视图.