问题描述
我试图检测对WKWebView中的链接的点击,并在另一个WKWebView中加载相应的URL。 我可以获取点击的URL并创建一个URL请求,但是加载URLRequest总是失败,并出现相同的错误:
致命错误:在隐式展开一个 可选值。
这很奇怪,因为当我打印URLRequest变量的值时,我看到它根本不是nil。
FROM ubuntu:bionic
ENV SDK_HOME /var/ndk
ENV ANDROID_NDK_VERSION r21d
ENV ANDROID_NDK_URL http://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip
RUN apt-get update && apt-get -y install curl unzip && apt-get clean && \
curl -L "${ANDROID_NDK_URL}" -o android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip && \
unzip -qq android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip -d ${SDK_HOME} && \
rm -f android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip && \
apt-get -y remove curl unzip && apt-get -y autoremove && rm -rf /var/lib/apt/lists/*
任何帮助都将受到欢迎。 非常感谢。
解决方法
在您的代码中,您彼此不必要地{strong>展开{1>} (!
),这是非常 不推荐 。过度使用强制展开不是一个好的编码实践。可能会导致您的应用程序意外崩溃。
您必须使用可选绑定(optional
)和可选链接来正常处理if-let
。
optionals
此外,在您的if let requestURL = URL(string: autoLinkUrl) {
let request = URLRequest(url: requestURL)
if let vc = self.websiteRecordingVC {
vc.webView.load(request)
navigationController?.pushViewController(vc,animated: true)
}
}
中检查是否所有websiteRecordingVC
均已正确连接。