每次我尝试访问UITableViewCell的textLabel时都返回Nil

时间:2018-10-15 18:34:25

标签: swift uitableview

我正在尝试在我的

中获取UITableViewCell的文本。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let selectedCell = tableView.cellForRow(at: indexPath)
    let cellLabel = selectedCell!.textLabel!.text
    print(cellLabel)
 }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
     let musicCell = music[indexPath.row]

     let cell = tableView.dequeueReusableCell(withIdentifier: "MusicCell") as! MusicCell

     cell.setMusic(music: musicCell)

     return cell
}

但返回的是零。

MusicListView是我的UIViewController,并且已经对其进行了扩展

extension MusicListView: UITableViewDataSource, UITableViewDelegate {
}

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

因此,正如其他人所建议的那样,我从数据模型访问了所需的数据。 我写了一个小函数来访问数据模型

func findMusic(id : Int) -> String {
    currentTitle = songList[id].title!
    return currentTitle
}

并在用户每次点击单元格时调用它

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    currentTitle = findMusic(id: indexPath.row)
    playSong(title: currentTitle)
 }