Swift 3 如何向同一个第二个视图控制器单元格显示不同的数组
Swift 3 How to show different Array to the same second View controller cell
我是一个新手 iOS
程序员,尝试用 Swift3
做第一个应用程序。它就像不同区域的区域数据共享功能。有问题希望得到帮助,深表感谢!!
我在每个视图中有两个 ViewController
和一个单元格。
A ViewController
与 A 细胞
B ViewController
与 B 细胞
在视图中我有一个 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行
然后使用这个函数select你想要的行
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"
在我 select编辑 LA 后,B 视图可以显示 5 行:
["firstZone", "SndZone", "ThreeZone", "fourZone", "fiveZone"]
如果我 selected NY 它可以在 B 视图中显示 NY 的数组数据,这就是我需要的~
当我 select 在两个 ViewController
之间编辑不同的行时,我想显示不同的单元格数据是否可以通过任何聪明的方式实现?或者我需要更多 ViewController
或 Class?请帮帮我!!非常感谢~
将您的数据设置为对象数组,其中每个对象包含一个子数组。
例如:
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 控制器,单元格显示 IndexPath.row
处的对象 Location.name
。对于您的 B 控制器,传递选定的 Location
对象并为您的单元格使用 Location.sections
计数和项目。
我是一个新手 iOS
程序员,尝试用 Swift3
做第一个应用程序。它就像不同区域的区域数据共享功能。有问题希望得到帮助,深表感谢!!
我在每个视图中有两个 ViewController
和一个单元格。
A ViewController
与 A 细胞
B ViewController
与 B 细胞
在视图中我有一个 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行
然后使用这个函数select你想要的行
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"
在我 select编辑 LA 后,B 视图可以显示 5 行:
["firstZone", "SndZone", "ThreeZone", "fourZone", "fiveZone"]
如果我 selected NY 它可以在 B 视图中显示 NY 的数组数据,这就是我需要的~
当我 select 在两个 ViewController
之间编辑不同的行时,我想显示不同的单元格数据是否可以通过任何聪明的方式实现?或者我需要更多 ViewController
或 Class?请帮帮我!!非常感谢~
将您的数据设置为对象数组,其中每个对象包含一个子数组。
例如:
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 控制器,单元格显示 IndexPath.row
处的对象 Location.name
。对于您的 B 控制器,传递选定的 Location
对象并为您的单元格使用 Location.sections
计数和项目。