WebViewのURLを変更しようとしていますが、毎回fatal error: unexpectedly found nil while unwrapping an Optional value
と表示されます。WebView:致命的なエラーが発生しました:オプション値のアンラッピング中に予期せぬエラーが発生しました
どういうところが間違っていますか?ありがとう。
マイAppDelegate
コード
@IBOutlet weak var myWebView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
myWebView.delegate = self
let url = NSURL (string: "http://cnn.com");
let requestObj = NSURLRequest(url: url! as URL);
myWebView.loadRequest(requestObj as URLRequest);
}
func changeURL(urlIncome:String) {
let url = NSURL(string: urlIncome)
let requestObj = NSURLRequest(url: url as! URL)
myWebView.loadRequest(requestObj as URLRequest);
}
:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var vc = ViewController()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarStyle = .lightContent
OneSignal.initWithLaunchOptions(launchOptions, appId: "", handleNotificationReceived: { (notification) in
let payload = notification?.payload
//let fullMessage = payload?.title
if let additionalData = payload?.additionalData, let actionURL = additionalData["url"] as? String {
self.vc.changeURL(urlIncome: actionURL);
}
}, handleNotificationAction: { (result) in
// This block gets called when the user reacts to a notification received
let payload = result?.notification.payload
let fullMessage = payload?.title
NSLog(fullMessage!);
}, settings: [kOSSettingsKeyAutoPrompt : true, kOSSettingsKeyInFocusDisplayOption : false])
// Override point for customization after application launch.
return true
}
このクラッシュはどのラインで発生しますか? urlIncomeの価値は何ですか? –
urlIncomeは有効なURLですか?そうでない場合、NSURL(string:urlIncome)はnilを返し、エラーが表示されます) – mlidal
注:ダウンキャストURLとURLRequestを強制しないでください。 http://stackoverflow.com/questions/37812286/swift-3-urlsession-shared-ambiguous-reference-to-member-datataskwithcomplet/37812485#37812485を参照して、パーセントでURLをエンコードしてください:http://stackoverflow.com/a/ 30149081/2227743 – Moritz