在用查询中的 MPmedia 项填充数据之前,如何将数据添加到 table 的第一行?

How can I add data to the first row of a table before it is filled with MPmedia items from a query?

我一直在慢慢构建一个音乐播放器。我查询专辑数据以填充 table。如果用户选择了一张专辑,我们会转到一个新屏幕来选择要播放的歌曲。我想将相册的第一行 table(在相册视图控制器中)设为名为 'All Songs' 的行,但我还不知道该怎么做。

我试过使用:insertRowsAtIndexPaths。但是没有成功。

    @IBOutlet var albumsTableView: UITableView!

    let qryAlbums = MPMediaQuery.albums()  // Query the albums

    // Set the cell in the table
    func tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: IndexPath) -> UITableViewCell {

        // I am using the custom class that I created called: myCustomAlbumTableViewCell
        let cell = tableView.dequeueReusableCell(withIdentifier: "albumIdCell", for: indexPath) as! myCustomAlbumTableViewCell

        let rowItem = qryAlbums.collections![indexPath.row]

        cell.albumTitle.text = rowItem.items[0].albumTitle

        return cell
    }

只需确保显示的行比查询相册多一行,然后每次需要获取查询相册时从 indexPath.row

中减去 1
    @IBOutlet var albumsTableView: UITableView!

    let qryAlbums = MPMediaQuery.albums()  // Query the albums

    // Set the cell in the table
    func tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: IndexPath) -> UITableViewCell {

        // I am using the custom class that I created called: myCustomAlbumTableViewCell
        let cell = tableView.dequeueReusableCell(withIdentifier: "albumIdCell", for: indexPath) as! myCustomAlbumTableViewCell

        if indexPath.row == 0 {
            cell.albumTitle.text = "All Songs"
        } else {

            let rowItem = qryAlbums.collections![indexPath.row-1]

            cell.albumTitle.text = rowItem.items[0].albumTitle
        }

        return cell
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) ->  Int {
        return qryAlbums.collections! .count + 1
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        if indexPath.row > 0 {
            let rowItem = qryAlbums.collections![indexPath.row-1]
        }
    }