私は現在、いつものObjective-Cでうまく働いた問題に直面していますが、私は、ように見えることはできませんSwift(特にv3)で動作するようになりました。これはすべてストーリーボードを使用して構築されています。
- のViewController: WKWebView & UIButtonItems
- SideMenuTableView:のUITableView & UIButtons
現在、SideMenuはのViewControllerの上に、モーダル、オーバーポップ私は2つの別々のView Controllerを持っていますUIButtonを介して一連のアクションをリストします。私はちょうどアイデアを落とすために、もっとも単純な例をとっていくつもりです。私がこの例で達成しようとしているのは、UButtonタップ(SideMenuTableView)からWKWebView(ViewController)をリロードすることです。
現在、私はシンプルなストーリーボードセグエ(Kind: Present Modally)
でSideMenuを呼び出すことができます。以下は、私は物事はまだ不明である場合に取得しようとしています何のより鮮明な画像です。さらに、実装されたSideMenuを単純な0関数で却下することもできます。
fatal error: unexpectedly found nil while unwrapping an Optional value
コード
import UIKit
import WebKit
class ViewController: UIViewController, UINavigationControllerDelegate, WKNavigationDelegate {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let webURL = URL(string: "https://google.ca")
let webRequest = URLRequest(url: webURL!)
webView.load(webRequest)
func refresh() {
webView.reload()
}
}
import Foundation
class SideMenuTableView: UITableViewController {
@IBAction fileprivate func close() {
self.dismiss(animated: true, completion: nil)
}
@IBAction func refresh(sender: AnyObject!) {
ViewController().refresh()
close()
}
}
EDIT:更新セグエコードリフレッシュ機能を呼び出そうとしたときにしかし、私は、次のエラーメッセージが表示されます。
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
if let vc = segue.destination as? SideMenuTableView {
vc.delegate = self
}
}
}
[致命的なエラー:任意の値をアンラッピングしている間に予期せぬエラーが発生しました "とはどういう意味ですか?](http://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly-found- nil-while-unwrapping-an-optional-valu) – JAL
BTW 'ViewController()。refresh()'は意味をなさない。あなたは**新しい**ビューコントローラを初期化し、それに対して 'refresh'を呼び出していますか? – JAL
ありがとうございます@ JAL!私はそのコードで正確に何をしているのだろうと思っていました。 –