我是一位全新的iOS
程序员,尝试使用Swift3
做第一个应用程序。它就像不同的Zones Area数据共享函数。有一个问题希望可以帮助,非常感谢它!!
我在每个视图中都有两个ViewController
和一个单元格。
带有A单元格的ViewController
B ViewController
与B细胞
在A视图中我有一个Array
例如:
var USA = [String]()
USA = ["NY", "NJ", "CF", "LA", "WD"]
如果
NY = ["zone one", "zone two", "zone three", "zone 4", "zone 5"]
NJ = ["eastZone", "southZone", "northZone", "westZone"]
CF = ["midtown", "downtown", "uptown", "county"]
LA = ["firstZone", "SndZone", "ThreeZone", "fourZone", "fiveZone"]
WD = ["eastPart", "westPart", "downPart", "upPart", "countyPart"]
所以在A视图中我可以通过以下方式显示单元格:
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return USA.count
}
总共有5行
然后使用此func选择您想要的行
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
问题是如何显示
["firstZone", "SndZone", "ThreeZone", "fourZone", "fiveZone"] in B View cell, if I selected A View's row "LA"
选择了LA之后,B视图可以显示5行:
["firstZone", "SndZone", "ThreeZone", "fourZone", "fiveZone"]
如果我选择NY,它可以在B视图中显示纽约的数组数据,这就是我需要的东西〜
当我选择两个ViewController
之间的不同行时,我想显示不同的单元数据是否可以通过任何智能方式?或者我需要更多ViewController
或班级?请帮帮我!!非常感谢〜
答案 0 :(得分:0)
将数据设置为对象数组,其中每个对象都包含一个子数组。
e.g:
class Location {
var name: String
var sections: [String]
init(_ key: String, sections: [String]) {
name = key
self.sections = sections
}
}
let USA = [Location("NY", sections: ["zone one", "zone two", "zone three", "zone 4", "zone 5"]),
Location("NJ", sections: ["eastZone", "southZone", "northZone", "westZone"]),
Location("CF", sections: ["midtown", "downtown", "uptown", "county"]),
Location("LA", sections: ["firstZone", "SndZone", "ThreeZone", "fourZone", "fiveZone"]),
Location("WD", sections: ["eastPart", "westPart", "downPart", "upPart", "countyPart"])]
对于A控制器,单元格显示Location.name
处对象的IndexPath.row
。对于B控制器,传递选定的Location
对象,并使用Location.sections
计数和单元格的项目。