5

WKWebView新しい言語と Swift 言語を使用して、Web ビューアーでシンプルな OS X アプリ (iOS ではない) を作成しようとしています。WKWebViewクラスの高速パフォーマンスを活用したいと考えています。

プロジェクトの 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 ファイルで、カスタム ビュー オブジェクトをメイン ウィンドウに追加し、@IBOutlet var containerView.

コードの最後の 2 行でエラー メッセージが表示されます。

var req = NSURLRequest(URL: url)

'AppDelegate. Type' には 'url' という名前のメンバーがありません</p>

self.webView!.loadRequest(req)

予想される宣言

どんな助けでも大歓迎です。

4

3 に答える 3

3

これを理解するのにしばらく時間がかかりました。

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ビュー コントローラーとビューに設定します。

于 2015-02-08T17:27:38.310 に答える