我有一个应用程序,里面有超过500首教堂的歌曲。我正在添加一个新功能,这将允许他们创建手动选择的歌曲的“幻灯片放映”。布局现在的方式是他们拥有所有歌曲的day
,并且点击一首歌曲会将PPT的文件位置添加到UITableView
,并为该行添加一个复选标记。接下来,他们可以点击预览按钮,这将按照他们选择的顺序为他们提供他们所选歌曲的表格视图。
我想允许编辑模式删除歌曲或重新排序,但我不知道如何重新排序NSArray
,因此第0项将是他们在tableview上的第一首歌,不仅仅是他们拍摄的第一个。
答案 0 :(得分:1)
我假设您有一组名为songsArray
的歌曲,用于填充表格视图。然后,当重新排序时,添加此方法。
- (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;
}
这允许用户重新排序表视图中的所有行,如果您不想让用户重新排序特定行,请添加indexPath.row
的检查并返回该行的NO
。