我有一堆数组:
let CNSNRT = ["CNS", "NRT", 3637, 2113] as [Any]
let ADKANC = ["ADK", "ANC", 1192, 2200] as [Any]
let LAXMCE = ["LAX", "MCE", 259 , 2370] as [Any]
let ANCMCG = ["ANC", "MCG", 219, 2440] as [Any]
let ATLGLH = ["ATL", "GLH", 378, 2590] as [Any]
let CNSHKG = ["CNS", "HKG", 3450, 2728] as [Any]
let AKPFAI = ["AKP", "FAI", 253, 2960] as [Any]
let ADLKUL = ["ADL", "KUL", 3524, 2984] as [Any]
合并:
let routesArray = [CNSNRT, ADKANC, LAXMCE, ANCMCG, ATLGLH, CNSHKG, AKPFAI, ADLKUL]
使用 print(routesArray[0])
我得到 ["CNS", "NRT", 3637, 2113]
并使用 print(routesArray[0 ][0]
我得到了 CNS
,所以一切似乎都在正确引用。
但是,我无法弄清楚如何将它正确地放入 UITableView
中。基本上,routesArray
中的每个项目都应该是一个单元格,数组中的项目将定义单元格中的标签。
当前代码:
import UIKit
class ViewController: UIViewController, UITableViewDataSource {
@IBOutlet weak var routesTableView: UITableView!
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return routesArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = routesTableView.dequeueReusableCell(withIdentifier: "cellReuseIdentifier")!
let text = "\(routesArray[indexPath.row])"
cell.textLabel?.text = text
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
routesTableView.dataSource = self
}
生成一个表格,其中的行看起来像 ["CNS", "NRT", 3637, 2113]
但我无法弄清楚如何将它们分解以将它们应用于特定标签细胞。因此,例如 originLabel
应该显示 CNS
但在下一个单元格中,originLabel
应该显示 ADK
。
最佳答案
此时您访问给定的数组并使用以下方法将其转换为单个字符串:
let text = "\(routesArray[indexPath.row])"
由于您只需要单元格的 originLabel
中错误的第一个元素,因此您需要获取第一个元素。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = routesTableView.dequeueReusableCell(withIdentifier: "cellReuseIdentifier")!
let rowData = routesArray[indexPath.row]
if let firstStr = rowData.first as? String {
cell.originLabel = firstStr
}
return cell
}
仅供引用 - 您不应该强制展开对 dequeueReusableCell
的调用。它可以返回 nil
并且您的应用程序将崩溃。
关于ios - 多维数组转表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45662363/