从字典数组填充表部分和行
我有一个表,我试图填充从存储模型数据的类。 首先,我的数据存储为一个字典数组,如下所示:
var pupilSubjects = ["Tom":["English", "Geography", "History"], "Dick":["English", "Geography", "Physical Education", "Biology"], "Harry": ["English", "Geography", "Physical Education", "Biology"]]
在ViewDidLoad中的TableViewController中,我将字典数组中的信息添加到我称为TableText的类中,如下所示:
for dict in pupilSubjects { let key = dict.0 let values = dict.1 tableTexts.append(TableText(name: key, subject: values)) }
我的variablestableTexts存储在我的TableViewController如下:
var tableTexts = [TableText]()
我的TableText类如下所示:
import UIKit class TableText: NSObject { var name: String var subject: [String] init(name: String, subject: [String]) { self.name = name self.subject = subject } }
我有一个自定义的TableViewCell,我称之为myTableViewCell,我设置tableText数据如下:
var tableText: TableText? { didSet { let myInputText = myTextView.text tableText!.subject.append(myInputText) // stepNumber.text = msStep!.step } }
我努力在我的TableViewController中实现cellForRowAtIndexPath来显示我已经存储在我的var tableTexts = TableText中的部分和行的详细信息。 我可以从我的部分标题中获得键值,如下所示:
let myKey = sectionTitles[indexPath.section]
但我不确定如何使用每个键返回存储在tableTexts中的string数组。 任何帮助/指针将不胜感激。
根据你的规范,相关的表视图委托/数据源方法是
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { let pupil = tableTexts[section] return pupil.name } override func numberOfSectionsInTableView(tableView: UITableView) -> Int { return tableTexts.count } override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { let pupil = tableTexts[section] return pupil.subject.count } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) let pupil = tableTexts[indexPath.section] cell.textLabel!.text = pupil.subject[indexPath.row] return cell }