所以,我有一个带有一些信息的文件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”
我怎样才能正确设置变量?
答案 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]