UITableViewCustomCell 中的 WKWebView 不工作

WKWebView in UITableViewCustomCell not working

我想在自定义单元格中显示一个网页并编写了如下代码,但我无法让它工作。

应用程序在 "self.webView!.navigationDelegate = self" 行崩溃 "Thread 1: EXC_BAD_INSTRUCTION_i386_INVOP, subcode=0x0"。

如果我注释掉这一行,我可以构建它,但应用程序什么也不显示。 (此单元格高度变为零,我看不到任何内容。)

非常感谢您的建议。

ContentViewController.swift(带有 UITableView 的视图控制器)

if indexPath.section == 0 {
  var cell : ArticleWKWebViewCustomCell = tableView.dequeueReusableCellWithIdentifier("ArticleWKWebViewCustomCell") as! ArticleWKWebViewCustomCell

            return cell
        }
else ....(abbreviated)      

ArticleWKWebViewCustomCell.swift 导入 UIKit 导入 WebKit

class ArticleWKWebViewCustomCell: UITableViewCell, WKNavigationDelegate {

    @IBOutlet weak var view: UIView!
    var webView: WKWebView?

    override func awakeFromNib() {
        super.awakeFromNib()

         self.webView!.navigationDelegate = self

        self.webView = WKWebView()
        view.addSubview(self.webView!)

        let url = NSURL(string:"http://www.yahoo.co.jp")
        let request = NSURLRequest(URL: url!)
        self.webView!.loadRequest(request)
    }

    func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
        println("Finished navigating to url")
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

我解决了,感谢我朋友的建议。 原来我需要为webView设置frame的大小。 我在 view.addSubview(self.webView!)

之后添加了以下代码
self.webView?.frame = CGRectMake(0, 0, CGRectGetWidth(view.frame), CGRectGetHeight(view.frame))