使用未解析的标识符'cell'

时间:2016-07-24 18:13:23

标签: ios swift uitableview

我在一个视图控制器中创建多个UITableViews,并且我使用以下代码来检查它是哪个tableView。我不断在最后一行中遇到问题“使用未解析的标识符'单元格'。我已经尝试过搜索这个问题,但是在Xcode 7中没有多少是最新的。原谅我缺乏术语以及经验,因为我刚刚开始。请随时问我你可能遇到的任何问题。提前感谢你们花时间阅读这篇文章!

@IBOutlet var tableView1: UITableView!
@IBOutlet var tableView2: UITableView!

// Mens games Variables
var dates = ["7/23", "7/24","7/25","7/26","7/27","7/28","7/29"]
var times = ["7:30","8:00","8:30","9:00","9:30","10:00","10:30"]
var teamsOne = ["VU Reserves 1","VU Reserves 3","VU Reserves 5","VU Reserves 7","VU Reserves 9","VU Reserves 11","VU Reserves 13"]
var teamsTwo = ["VU Reserves 2","VU Reserves 4","VU Reserves 6","VU Reserves 8","VU Reserves 10","VU Reserves 12","VU Reserves 14"]
var fields = ["Turf","Field 1","Field 2","Field 3","Field 4","Field 5","Field 6"]


// Womens games Variables
var womensDates = ["7/23", "7/24","7/25","7/26","7/27","7/28","7/29"]
var womensTimes = ["7:30","8:00","8:30","9:00","9:30","10:00","10:30"]
var womensTeamsOne = ["VU Girls 1","VU Girls 3","VU Girls 5","VU Girls 7","VU Girls 9","VU Girls 11","VU Girls 13"]
var womensTeamsTwo = ["VU Girls 2","VU Girls 4","VU Girls 6","VU Girls 8","VU Girls 10","VU Girls 12","VU Girls 14"]
var womensFields = ["Turf","Field 1","Field 2","Field 3","Field 4","Field 5","Field 6"]




override func viewDidLoad() {
    super.viewDidLoad()

    tableView1.dataSource = self
    tableView1.delegate = self
    tableView1.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell1")
    tableView2.dataSource = self
    tableView2.delegate = self
    tableView2.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell2")
}


func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {


    if (tableView == tableView1) {
        return teamsOne.count
    }
    else if (tableView == tableView2) {

    return womensTeamsOne.count

    } else{

        return 0 }

    }

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {


    if (tableView == tableView1) {

    let cell = self.tableView1.dequeueReusableCellWithIdentifier("cell1", forIndexPath: indexPath) as! gamesCustomCell

    cell.date.text = dates[indexPath.row]
    cell.time.text = times[indexPath.row]
    cell.teamOne.text = teamsOne[indexPath.row]
    cell.teamTwo.text = teamsTwo[indexPath.row]
    cell.field.text = fields[indexPath.row]

        return cell

    } else if (tableView == tableView2) {


        let cell = self.tableView2.dequeueReusableCellWithIdentifier("cell2", forIndexPath: indexPath) as! womensGamesCustomCell

        cell.womensDate.text = womensDates[indexPath.row]
        cell.womensTime.text = womensTimes[indexPath.row]
        cell.womensTeamOne.text = womensTeamsOne[indexPath.row]
        cell.womensTeamTwo.text = womensTeamsTwo[indexPath.row]

     return cell

    }

    return cell
  }
  }

2 个答案:

答案 0 :(得分:1)

只需将cellForRowAtIndexPath替换为以下代码

即可
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell?

if (tableView == tableView1) {

cell = self.tableView1.dequeueReusableCellWithIdentifier("cell1", forIndexPath: indexPath) as! gamesCustomCell

cell.date.text = dates[indexPath.row]
cell.time.text = times[indexPath.row]
cell.teamOne.text = teamsOne[indexPath.row]
cell.teamTwo.text = teamsTwo[indexPath.row]
cell.field.text = fields[indexPath.row]

}
 if (tableView == tableView2) {

    cell = self.tableView2.dequeueReusableCellWithIdentifier("cell2", forIndexPath: indexPath) as! womensGamesCustomCell

    cell.womensDate.text = womensDates[indexPath.row]
    cell.womensTime.text = womensTimes[indexPath.row]
    cell.womensTeamOne.text = womensTeamsOne[indexPath.row]
    cell.womensTeamTwo.text = womensTeamsTwo[indexPath.row]

}

return cell!
}

答案 1 :(得分:0)

试试这个,它对我有用

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
  if (tableView == tableView1) {
    let cell = self.tableView1.dequeueReusableCellWithIdentifier("cell1", forIndexPath: indexPath) as! gamesCustomCell

    cell.date.text = dates[indexPath.row]
    cell.time.text = times[indexPath.row]
    cell.teamOne.text = teamsOne[indexPath.row]
    cell.teamTwo.text = teamsTwo[indexPath.row]
    cell.field.text = fields[indexPath.row]

    return cell

  } else if (tableView == tableView2) {
    let cell = self.tableView2.dequeueReusableCellWithIdentifier("cell2", forIndexPath: indexPath) as! womensGamesCustomCell

    cell.womensDate.text = womensDates[indexPath.row]
    cell.womensTime.text = womensTimes[indexPath.row]
    cell.womensTeamOne.text = womensTeamsOne[indexPath.row]
    cell.womensTeamTwo.text = womensTeamsTwo[indexPath.row]

    return cell
  }

  return UITableViewCell()
}