gpt4 book ai didi

ios - 将 Array 与 Osmosis 结合使用

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:05 26 4
gpt4 key购买 nike

我正在制作一个 iOS 应用程序,我正在尝试使用 Osmosis从网站获取一些数据并将其显示在我的应用程序中。为此,我正在关注 usage。正如 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:无法将类型“[String : AnyObject]”的值转换为预期的参数类型“String”

为什么我的项目会崩溃?我应该如何声明我的数组以使其正常工作?

最佳答案

你在这里声明你的数组来保存 String 对象:

var array: [String] = []

如果您希望它包含字典,请将声明更改为:

var array: [[String : AnyObject]] = []

或使用 [AnyObject] 来保存任何类型的对象(字符串、字典等)。

对于你的第二个问题,你没有关闭你的闭包:

.list { (dict) -> Void in
self.array.append(dict)
}.start()

关于ios - 将 Array 与 Osmosis 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36139298/

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