gpt4 book ai didi

ios - 基于 UITableView Edit 重新排序 NSArray

转载 作者:行者123 更新时间:2023-11-29 01:24:23 25 4
gpt4 key购买 nike

我有一个应用程序,其中包含 500 多首教堂歌曲。我正在添加一项新功能,允许他们创建手动选择歌曲的“幻灯片放映”。现在的布局方式是,他们有一个包含所有歌曲的 UITableView,点击一首歌曲会将 PPT 的文件位置添加到 NSArray,并在排。在此之后,他们可以单击“预览”按钮,这将按照他们选择的顺序为他们提供他们选择的歌曲的表格 View 。

我想允许编辑模式删除歌曲或重新排序,但我不确定如何让 NSArray 也重新排序,这样项目 0 将是他们拥有的第一首歌曲tableview,而不仅仅是他们点击的第一个。

最佳答案

我假设您有一系列歌曲,名为 songsArray用于填充 TableView 。然后当发生重新排序时,添加此方法。

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath {
NSObject *songToMove = [self.songsArray objectAtIndex:sourceIndexPath.row];
[self.songsArray removeObjectAtIndex:sourceIndexPath.row];
[self.songsArray insertObject:stringToMove atIndex:destinationIndexPath.row];
}

不要忘记实现canMoveForRowAtIndexPath

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}

这允许用户对 TableView 中的所有行重新排序,如果您不想让用户对特定行重新排序,请添加对 indexPath.row 的检查并返回NO对于该行。

关于ios - 基于 UITableView Edit 重新排序 NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34187750/

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