gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 13:51:38 27 4
gpt4 key购买 nike

我一直在慢慢构建一个音乐播放器。我查询专辑数据以填充表格。如果用户选择了一张专辑,我们会转到一个新屏幕来选择要播放的歌曲。我想将专辑表的第一行(在专辑 View Controller 中)设为“所有歌曲”行,但我还不知道该怎么做。

我尝试使用: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]
}
}

关于swift - 在用查询中的 MPmedia 项目填充表格之前,如何将数据添加到表格的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54508536/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com