When trying change url on button press I get the error : unexpectedly found nil while unwrapping an Optional value

When trying change url on button press I get the error : unexpectedly found nil while unwrapping an Optional value

我正在使用 XCODE 和 Swift 3.

我有一个应用程序,它允许用户更改他们正在查看的网站以及他们按下的按钮,然后使用新的 url.

更新网络视图

我似乎经常遇到这个错误:"unexpectedly found nil while unwrapping an Optional value"

我是 Xcode 和 Swift 的新手,这是我的第一个应用程序构建。所以尝试调试它被证明是困难的。我可以看到我正在使用的 URL 确实有一个“?”在它之后。有没有办法让 url 成为非可选值?当我这样做时,webview 会相应地更新新的 url

如果代码中有 IBOutlet,请确保在您的故事板中,您的按钮已链接到 IBOutlet。

使用这个

self.webView?.loadRequest(requestobj)

只是为了调试,试试:

let bleh = URL(string: "www.wikipedia.org")

很确定您的地址存在 bleh 为零的问题。

在 swift 中,您可以将变量定义为 "implicitly unwrapped optional":

var webView: UIWebView!

这会告诉编译器,任何时候您尝试引用该变量时,只要打开它,就好像您在后面加上感叹号一样。

默认情况下,outlets 被设置为隐式展开的可选值。如果它们为零,你就会崩溃。

我的猜测是你的 webView 是一个 outlet,它是 nil。也可能是您的 requestObj 变量是隐式解包的可选变量。检查其中任何一个是否为零。

如果您仍然可以理解,post 声明这两个变量的代码。