从类中获取可变数据 - swift

时间:2015-07-10 06:51:05

标签: ios swift class

所以,我有一个带有一些信息的文件data.swift

class Data {

    var agen = […   ]
    var tours = […   ]
    var marseille = […   ]
    ……
}

在另一个viewcontroller中,我试图从上面找回一个值。 我可以通过命令成功获取特定值:

let entry = data.agen[indexPath.row]

它正在工作,但我想在这个命令中设置一个变量,我把这个

    var passedValue:String!  
// passedValue coming from a segue from a previous VC
// passedValue could be "agen", "tours",”marseille” ...
    let entry = data.passedValue[indexPath.row]

但它不工作消息错误告诉我“数据没有名为”的成员“passValue”

我怎样才能正确设置变量?

2 个答案:

答案 0 :(得分:0)

语法略有不同

class Data {

    var agen = ["A","B","C"]
    var tours = ["D","E"]
    var marseille = ["F","G","H"]

    subscript(index: String) -> [String]! {
        switch index {
            case "agen" : return agen
            case "tours" : return tours
            case "marseille" : return marseille
            default: return []
        }
    }
}

let key = "agen"
let data = Data()
print(data[key][1])

(也许会让错误教授更多)

答案 1 :(得分:0)

其他解决方案是为'agen','tour'等创建类/结构。 并将其设置在Data对象

class Data {

    var agen = [Agen(title), Agen(title2)]
    var tours = [Tour(title), Tour(title2)]
    …… }

因为,您可能希望稍后在tableView中显示有关该对象的一些信息,所以您可以这样:

title.text = tour.title
subtitle.text = tour.placeName
imageView.image = tour.photos[1]