【发布时间】:2015-10-04 09:49:56
【问题描述】:
我目前正在 swift 2 中制作一个 rss 提要阅读器,我很难将 url 从我的 tableview 传递到我的 web 视图。当我在 tableviewcontroller 中打印我的 url 时,它会在 url 前面添加(可选)。但是,当它传入我的 webviewcontroller 时,它前面没有(可选)inf。这让我担心路上出了什么问题。
tableviewcontroller 将 url 传递给 webviewcontroller:
override func tableView(tableView: UITableView,
didSelectRowAtIndexPath indexPath: NSIndexPath){
let webVC = WebViewController()
webVC.entryUrl = entriesArray[indexPath.row]["link"]
self.navigationController?.pushViewController(webVC, animated: true)
print(entriesArray[indexPath.row]["link"])
}
webviewcontroller 接收数据并尝试使用它:
var entryUrl:String!
override func viewDidLoad() {
super.viewDidLoad()
print(entryUrl)
if entryUrl != nil {
print(entryUrl)
let requesturl: NSURL? = NSURL(string: entryUrl)
let request = NSURLRequest(URL: requesturl!)
web.loadRequest(request)
}
loadAddressURL()
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().networkActivityIndicatorVisible = false
}
func loadAddressURL() {
if let requestURL = NSURL(string: entryUrl) {
let request = NSURLRequest(URL: requestURL)
web?.loadRequest(request)
}
}
我收到一条错误消息:
loadAddressURL()
说:
EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) on dispatch_semaphore_dispose
从 tableviewcontroller 打印日志: 可选(“http://www.google.com/”)
但是从 webviewcontroller 日志只打印: http://www.google.com/
然后: 致命错误:在展开可选值时意外发现 nil
为什么这不起作用,为什么 url 在 webviewcontroller 中不再是可选的?
【问题讨论】:
标签: ios swift nsxmlparser swift2