我有两个数组。var TableData:Array< String > = Array < String >() var TableSpeed:Array< String > = Array < String >()
每个数组都涉及名称,标题,地址和年龄。
我想逐行显示这四个数据。
我当前的问题是每个数据都出现在每一行中。
“名称”显示在第一行。 “标题”数据显示在第二行。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let packCellToReturn = tableView.dequeueReusableCellWithIdentifier("packCell", forIndexPath: indexPath) as! PackTableViewCell
switch (packSegmentedControl.selectedSegmentIndex)
{
case 0:
packCellToReturn.lblName.text = TableData[indexPath.row]
packCellToReturn.lblTitle.text = TableData[indexPath.row]
packCellToReturn.lblAddress.text = TableData[indexPath.row]
packCellToReturn.lblAge.text = TableData[indexPath.row]
break
case 1:
packCellToReturn.lblName.text = TableSpeed[indexPath.row]
packCellToReturn.lblTitle.text = TableSpeed[indexPath.row]
packCellToReturn.lblAddress.text = TableSpeed[indexPath.row]
packCellToReturn.lblAge.text = TableSpeed[indexPath.row]
break
default:
break
}
return packCellToReturn
}
最佳答案
我不确定您要实现的目标,但是我认为您需要重新考虑数据结构。
目前,您正在使用此代码访问整个数组,这意味着.lblName属性以及其他三个属性都设置为整个数组。
packCellToReturn.lblName.text = TableData[indexPath.row]
我会尝试像这样实现它:
struct TableData {
var name
var title
var address
var age
/*
Here you can either set up a memberwise initializer as I did below, or set default values for each variable above.
init(String: name, String: title, String: address, Int: age) {
self.name = name
self.title = title
self.address = address
self.age = age
*/
}
//Creating an array of TableData elements.
var tableData = [TableData]
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let packCellToReturn = tableView.dequeueReusableCellWithIdentifier("packCell", forIndexPath: indexPath) as! PackTableViewCell
switch (packSegmentedControl.selectedSegmentIndex)
{
case 0:
packCellToReturn.lblName.text = tableData[indexPath.row].name
packCellToReturn.lblTitle.text = tableData[indexPath.row].title
packCellToReturn.lblAddress.text = tableData[indexPath.row].address
packCellToReturn.lblAge.text = tableData[indexPath.row].age
break
然后,为TableSpeed结构和TableSpeed结构的tableSpeed数组创建结构等,执行相同的操作,并在tableView func中类似地实现它。