【问题标题】:Default website when web browser launches xcode swiftWeb浏览器启动xcode swift时的默认网站
【发布时间】:2017-04-16 03:57:40
【问题描述】:

我一直在创建自己的网络浏览器,并在 xcode 中成功完成。但是后来我想要一个特定的 url google 例如在它第一次打开时加载,现在我遇到了这个问题。如果有人可以向我解释如何做到这一点,那就太好了。我在 ViewController 类中尝试了多种方法,但似乎没有任何效果。

这是我的代码 sn-p,如果有什么问题,你能告诉我吗? :) 谢谢

import Cocoa
import WebKit

class ViewController: NSViewController {
    @IBOutlet weak var webView: WebView!
    override func viewDidLoad() {
        super.viewDidLoad()

        let urlString = "https://www.google.com/"
        self.webView.mainFrame.loadRequest(NSURLRequest(URL: NSURL(string: urlString)! as URL))

    }

    override var representedObject: Any? {
            didSet {
        }
    }
}

【问题讨论】:

  • 你不应该只做self.webView.loadRequest而不是self.webView.mainFrame.loadRequest吗?
  • 我明白为什么这应该有效,但我仍然收到错误消息:'WebView' 类型的值没有成员'loadRequest'。
  • 请参阅此内容以供参考。虽然它在目标 c stackoverflow.com/questions/15921974/…

标签: swift xcode cocoa


【解决方案1】:

在 Swift 3 中,API 发生了很大变化。下面是有效的代码:

import Cocoa
import WebKit

class ViewController: NSViewController {

    @IBOutlet weak var webView: WebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let urlString = "https://www.google.com/"
        let request = URLRequest(url: URL(string: urlString)!)
        self.webView.mainFrame.load(request)
    }
}

所有Foundation 类都删除了NS 前缀(https://github.com/apple/swift-evolution/blob/master/proposals/0086-drop-foundation-ns.md),因为它们changed the way parameters workload 函数发生了很大变化。

【讨论】:

  • 谢谢。这正是我想要的。令人惊讶的是它发生了多大的变化,但现在我明白了! :)
猜你喜欢
  • 2012-12-18
  • 2011-05-24
  • 1970-01-01
  • 2011-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 2016-04-01
相关资源
最近更新 更多