Swift UITableViewCell Segue到另一个视图

时间:2017-07-23 07:04:47

标签: ios iphone swift uitableview uistoryboardsegue

我正在尝试创建一个音乐播放器,在一个视图中,我有UITableView个播放列表,我希望当用户点击一个单元格以便它转到另一个包含tabled的UITableView时播放列表中的歌曲列表。执行此操作时,我收到以下错误:

  

" 2017-07-22 23:58:35.479139-0700 FoodTracker [740:118055]; layer =; contentOffset:{0,0}; contentSize:{375,1080}> s   窗口不等于' s   查看窗口!"

该项目的名称是foodTracker,因为我从Apple教程项目中构建了一个测试项目。此外,playlistTable是带有歌曲的tableview。不是播放列表。有什么办法可以解决这个错误吗?

tableView()的代码如下:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    NSLog("You selected cell number: \(indexPath.row)!")

    tableView.deselectRow(at: indexPath, animated: true)

    let thePlaylist = playlistArray[indexPath.row].songs
    songsToShow = loadSongs(songs: thePlaylist)
    let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
    let destination = storyboard.instantiateViewController(withIdentifier: "playlistTable") as! playlistTable
    destination.songArr =  songsToShow
    navigationController?.pushViewController(destination, animated: true)

    performSegue(withIdentifier: "goTo", sender: self) 

}

3 个答案:

答案 0 :(得分:0)

你为什么两个都这样做?删除其中一个。

navigationController?.pushViewController(destination, animated: true)

performSegue(withIdentifier: "goTo", sender: self)

答案 1 :(得分:0)

@JuatANoob我认为你的代码片段中存在一些基本错误,没有必要在同一个代码片段中同时执行pushNavigation和performSegue的代码。在一个片段中的两件事都会让人感到困惑。所以你的代码只需要做一件事。 pushNavigationperformSegue

答案 2 :(得分:0)

如果您不需要通过故事板进行segue,请简单评论此行。

performSegue(withIdentifier: "goTo", sender: self)