首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阵列与渗透

阵列与渗透
EN

Stack Overflow用户
提问于 2016-03-21 18:53:04
回答 1查看 75关注 0票数 1

我正在制作一个iOS应用程序,我正在尝试使用渗透从一个网站获取一些数据并在我的应用程序中显示出来。为了做到这一点,我遵循在github上的自述文件中描述的用法

我的问题是,当我试图获取被解析的信息时,会出现一个错误。下面是我的代码片段:

代码语言:javascript
复制
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'

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-21 18:55:18

您可以在这里声明您的数组来保存String对象:

代码语言:javascript
复制
var array: [String] = []

如果希望它保存字典,请将声明更改为:

代码语言:javascript
复制
var array: [[String : AnyObject]] = []

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

关于你的第二期,你不能关闭你的收尾:

代码语言:javascript
复制
.list { (dict) -> Void in
    self.array.append(dict)
}.start()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36139298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档