我正在制作一个iOS应用,并且尝试使用Osmosis从网站中获取一些数据并将其显示在我的应用中。为了做到这一点,我遵循github自述文件中描述的用法。
我的问题是,尝试获取已解析的信息时出现错误。这是我的代码片段:
class ViewController: UIViewController {
var array: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
Osmosis(errorHandler: { (error) -> Void in
print(error)
})
.get(NSURL(string: "www.mysite.com")!)
.find(OsmosisSelector(selector: ".quote"), type: .CSS)
.populate([
OsmosisPopulateKey.Single("quotes") : OsmosisSelector(selector: "tt_quotes b")
], type: .CSS)
.list { (dict) -> Void in
self.array.append(dict)
.start()
print(dict)
当我尝试构建项目时,出现以下错误:
ViewController.swift:34:35: Cannot convert value of type '[String : AnyObject]' to expected argument type 'String'
为什么我的项目会崩溃,我应该如何声明我的数组才能使其正常工作?
您String
在此处声明数组以容纳对象:
var array: [String] = []
如果您希望它包含词典,请将声明更改为:
var array: [[String : AnyObject]] = []
或用于[AnyObject]
容纳任何类型的对象(字符串,字典等)。
对于第二个问题,您不会关闭封包:
.list { (dict) -> Void in
self.array.append(dict)
}.start()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句