【问题标题】:Swift WebViews not working as expectedSwift WebViews 没有按预期工作
【发布时间】:2015-09-27 03:50:44
【问题描述】:

我做了很多研究,但我仍然遇到同样的问题。我正在尝试将网站快速加载到网络视图中,尽管每次运行项目时,它都会给我以下错误消息:

EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

以下两行代码是我试图用来将 url 加载到 web 视图中的代码。我想让您知道,这两行代码来自以下视频:https://www.youtube.com/watch?v=rcVv1N1hReQ。以下是代码行:

var URL = NSURL(string: "https://www.google.com")
petInfo.loadRequest(NSURLRequest(URL: URL!))

如果您想知道 petInfo 的出口是什么样的,它会显示在以下代码块中:

@IBOutlet weak var petInfo: UIWebView!

outlet 在 vi​​ewDidLoad() 函数之前被初始化。该 url 正在 viewDidLoad() 函数中加载。提前感谢您的帮助。

【问题讨论】:

    标签: ios swift webview nsurl


    【解决方案1】:

    我终于找到了答案。问题是我的 WebView 等于 nil,尽管我的函数正在请求一个值,所以应用程序崩溃了。而不是使用 !为了打开插座,我将其更改为以下内容:

    if let pet = petInfo{
         //do normal function stuff like loading the web views.
    }
    

    我要感谢您的回答,尽管这不是我想要的。如果有人不明白下面的代码,只需输入评论(确保添加+Andrew_Wilson214),然后我会进一步解释给你。

    【讨论】:

    • 您的 petInfo 变量仍为 nil,并且未加载 Web 视图。您仍然需要将 UI WebView 连接到您的 petInfo 变量。右键单击(或按住 Control 键单击)故事板中的 WebView 到 ViewController.swift 文件。确保 petInfo 声明旁边的装订线中的圆圈已填满。
    • 我知道它已连接。我知道它有效。我测试过了。
    【解决方案2】:

    我怀疑您没有将 WebView 连接到 ViewController 中的 IBOutlet。在下面的屏幕截图中,您将看到我已经定义了@IBOutlet weak var petInfo: UIWebView,但该行旁边的装订线中的灰色圆圈未填充。它尚未连接到 UI 元素。还要检查您的控制台,看看是否收到相同的致命错误“unexpectedly found nil while unwrapping an Optional value”。

    【讨论】:

    • +Price Ringo 虽然这不是我想要的答案(我在上面的答案中显示了答案)我仍然感谢您帮助我尝试解决这个问题。我确信您的解决方案工作得很好,尽管上面的解决方案是我决定使用的。感谢您考虑回答这个问题。祝你有美好的一天!
    猜你喜欢
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 2021-10-19
    • 2020-03-18
    • 2012-06-14
    相关资源
    最近更新 更多