gpt4 book ai didi

swift - 在 swift 中加载 UIWebView 中的 URL 时发生 fatal error

转载 作者:行者123 更新时间:2023-11-30 10:13:59 24 4
gpt4 key购买 nike

我正在使用 UISplitViewController 以所有可见模式显示主页面和详细信息页面。仅限纵向。我在 masterVC 中使用可扩展 TableView 。所以我在部分添加了一个 View 。如果我点击该 View ,URL 应该反射(reflect)在 webView 中,具体为 VC。但是,对于我的代码,我收到一个错误。我没有为此使用任何导航 Controller 。我直接将 splitViewController 连接到主视图 Controller 和详细 View Controller 。我在下面描述了。请帮助我。

详细 View Controller

func webViewLoader()
{
println("Came Inside Web View")
let url = "http://makeapppie.com/2014/10/28/swift-swift-using-uiwebviews-in-swift/"
let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
webView.loadRequest(request) //FATAL ERROR WHILE UNWRAPPING
}

在主视图 Controller 中

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

let headerView = UIView(frame: CGRectMake(0, 0, sideTableView.frame.size.width, 49)) //ADDING VIEW TO SECTION - FOR EXPANDABLE TABLEVIEW
var layerLine = CALayer()
layerLine.frame = CGRect(x: 0, y: headerView.frame.size.height, width: headerView.frame.size.width, height: 1)
layerLine.backgroundColor = UIColor(red: 220/255, green: 220/255, blue: 220/255, alpha: 1.0).CGColor
headerView.backgroundColor = UIColor(red: 242/255, green: 242/255, blue: 242/255, alpha: 1.0)
headerView.tag = section

headerView.layer.addSublayer(layerLine) //ADDING BOTTOM BORDER TO CELL

let headerString = UILabel(frame: CGRect(x: 10, y: 10, width: sideTableView.frame.size.width-10, height: 30)) as UILabel
headerString.text = sideTblData.objectAtIndex(section) as! NSString as String
headerString.font = headerString.font.fontWithSize(15)
headerView .addSubview(headerString)

let headerTapped = UITapGestureRecognizer (target: self, action: "sectionHeaderTapped:")
headerView .addGestureRecognizer(headerTapped)
return headerView
}

在sectionHeaderTapped

func sectionHeaderTapped(recognizer: UITapGestureRecognizer) {
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc : DetailVC = storyboard.instantiateViewControllerWithIdentifier("web-link") as! atlDetailVC
vc.webViewLoader()
}

在viewDidLoad中

let url = "http://makeapppie.com/2014/10/28/swift-swift-using-uiwebviews-in-swift/"
let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
webView.loadRequest(request) //It is working. But, in method call, why I am getting fatal error??

最佳答案

我创建了一个类似的应用程序,但我的代码没有问题。这是我的代码:

class MasterViewController: UITableViewController{
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell

cell.textLabel?.text = "\(indexPath.row)"

return cell
}

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let dvc = self.splitViewController?.viewControllers.last as! DetailViewController

dvc.webViewLoader()
}
}

class DetailViewController: UIViewController {
@IBOutlet weak var WebView: UIWebView!

func webViewLoader() {
println("Came Inside Web View")
let url = "http://www.google.com"
let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
WebView.loadRequest(request) //FATAL ERROR WHILE UNWRAPPING
}
}

更新1

我已经上传了 Project

关于swift - 在 swift 中加载 UIWebView 中的 URL 时发生 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31283588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com