在表中逐行循环数组数据

时间:2016-05-02 10:44:29

标签: arrays swift uitableview arraylist

我有两个数组。

INCLUDEPATH += C:/qt/tools/mingw492_32/include

涉及每个阵列名称,标题,地址和年龄。
我想逐行显示这四个数据 我目前的问题是每个数据都出现在每一行中 “名称”显示在第一行。
“标题”数据显示在第二行。

LIBS += $$PWD/../protobuf-3.0.0-beta-2/src/libs/libprotobuf.a

1 个答案:

答案 0 :(得分:0)

我不确定您要实现的目标,但我认为您需要重新考虑您的数据结构。

目前,您正在使用此代码访问整个数组,这意味着.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函数中类似地实现它。