요약치명적인 오류
나는 현재 항상 목표 - C에서 잘 작동 문제에 직면하고있다,하지만 난 얻을 수없는 것 Swift (특히 v3)에서 작동합니다. 이것은 모두 스토리 보드를 사용하여 제작되었습니다.
- 의 ViewController : 나는 두 개의 뷰 컨트롤러가 & UIButtonItems
- SideMenuTableView WKWebView : jQuery과 & UIButtons 현재
는 SideMenu은의 ViewController의 상단에, 모달, 이상 아빠 UIButton을 통해 일련의 작업 목록을 표시합니다. 나는 생각을 떨어 뜨리기 위해 가장 단순한 예에서 벗어날 것입니다. 이 예제에서 수행하고자하는 것은 UButton 탭 (SideMenuTableView)에서 WKWebView (ViewController)를 다시로드하는 것입니다.
현재, 나는 간단한 스토리 보드 SEGUE (Kind: Present Modally)
으로 SideMenu를 호출 할 수 있습니다 : 아래는 내가 일이 여전히 불분명 한 경우에 얻을 것을 시도하고 무엇을 더 명확한 그림이다. 또한, 간단한 close()
함수로 구현 된 SideMenu를 닫을 수 있습니다.
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()
}
}
편집 : 업데이트 SEGUE 코드 새로 고침 함수를 호출 할 때 그러나, 나는 다음과 같은 오류 메시지가 나타납니다.
// 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
}
}
}
[치명적인 오류 : 선택 값을 언 래핑하는 동안 예기치 않게 nil이 발견되었습니다 "는 의미는 무엇입니까?] (http://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly-found- nil-while-unwrapping-an-optional-valu) – JAL
BTW'ViewController(). refresh()'는 의미가 없습니다. ** 새로운 ** 뷰 컨트롤러를 초기화하고 그것에'refresh'를 호출하고 있습니까? – JAL
@ JAL에 감사드립니다! 나는 그 코드로 정확히 무엇을하고 있는지 궁금해하고 있었다. –