【发布时间】:2016-11-11 15:23:16
【问题描述】:
我的代码爬取 HTML 页面,搜索标签,读取网站上的表格并填充 tableView。这在 Swift 2.2 中就像一个魅力,但自从我更新了 Cocoapods,我遇到了这个拒绝去的错误。
这是我的功能:
if let secondColumn = rowElement.childAtIndex(1) as? HTMLElement {
title = secondColumn.textContent
.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
.stringByReplacingOccurrencesOfString("\n", withString: "")
if let urlNode = secondColumn.firstNodeMatchingSelector("a") {
if let urlString = urlNode.objectForKeyedSubscript("href") as? String {
url = NSURL(string: urlString)
if url == nil {
url = NSURL.init(string: "www.mywebsitelink.com")
}
}
}
}
错误在:urlNode.objectForKeyedSubscript("href") as? String
错误:
来自“字符串?”的向下转换to 'String' 只解开选项;你是否 是用'!'的意思吗?
这之前运行良好,我根本没有更改此文件中的任何代码。
依赖:
目前采取的步骤:
- 将代码更新到 Swift 2.3 和 Swift 3 - 不起作用。
- 清理代码、删除派生数据等 - 不起作用。
- 尝试将依赖项的版本转换为旧版本 - 不起作用。
- 尝试更改可选值,即添加/删除“!”或 '?',试图通过删除 'if let' 并声明它来更改函数。
变化图片:
请帮忙。
【问题讨论】:
-
@sasquatch - 不确定你的帖子在哪里消失了。我们正在做一些事情......
-
我删除了它,因为它不是正确的答案
-
哦好吧..仍然停留在这个:(..我试过你之前(甚至现在)所说的一切,不确定问题出在哪里。
-
我离开了我的系统,如果我得到一个工作代码,我会把它作为答案发布。
-
谢谢。会留意你的答案。
标签: ios swift xcode scripting alamofire