我有一個基本的可可應用程序,其窗口中只有一個WebView
。 WebKit.framework
參考被添加到OS X上的Xcode 6 beta 6項目10.9(Mavericks)。我想知道WebView
何時完成加載頁面。所以我創建了一個WebViewControllerDelegate
類繼承WebFrameLoadDelegate
。那已經是問題開始的地方了:Xcode告訴我關於Use of undeclared type 'WebFrameLoadDelegate'
。關於this question on Stack Overflow,它不應該。就像已經提到的那樣,項目引用了WebKit.framework
,在Swift類文件中導入了WebKit
模塊。我還在012碼之前的左側欄中的「頭文件」文件夾中看到WebFrameLoadDelegate.h
,位於WebKit.framework
的下面。爲什麼WebFrameLoadDelegate被視爲未聲明?
萬惡之源是行11
在文件TestWebView/WebViewControllerDelegate.swift
(我忘了刪除我在這裏省略的註釋),類聲明和協議參考。
import WebKit
class WebViewControllerDelegate: WebFrameLoadDelegate {
func didFinishLoadForFrame() {
NSLog("didFinishLoadForFrame()")
}
}
的AppDelegate
,其中完成所有設置:
import Cocoa
import WebKit
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var webView: WebView!
@IBOutlet weak var webViewControllerDelegate: WebViewControllerDelegate!
func applicationDidFinishLaunching(aNotification: NSNotification?) {
self.webView.frameLoadDelegate = self.webViewControllerDelegate
self.webView.mainFrame.loadRequest(NSURLRequest(URL: NSURL(string: "https://stackoverflow.com/")))
}
func applicationWillTerminate(aNotification: NSNotification?) {}
}
欲瞭解更多信息,請看一看代碼在我my public repository,我對這個問題的產生。
我更新了我的存儲庫中的代碼,相應地爲其他具有相同或類似問題的代碼查看工作示例。 – 2014-08-29 06:45:44