我有一个应用程序,其中包含超过500首教堂的歌曲。我要添加一个新功能,使他们可以创建手动选择的歌曲的“幻灯片”。现在的布局方式是,它们对所有歌曲都具有UITableView
,点击一首歌曲会将PPT的文件位置添加到NSArray
,并在该行中添加一个选中标记。之后,他们可以单击“预览”按钮,这将使他们按选择的顺序仅查看所选歌曲的列表。
我想允许以编辑模式删除歌曲或对其重新排序,但不确定如何对NSArray
进行重新排序,因此项目0将是其在表视图中的第一首歌曲,而不仅仅是第一首他们窃听。
最佳答案
我假设您有一首歌曲,称为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
。关于ios - 根据UITableView重新排序NSArray,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34187750/