如何在 iOS 中按字母顺序对 MediaQuery 的 ArtistQuery 数组进行排序

Posted

技术标签:

【中文标题】如何在 iOS 中按字母顺序对 MediaQuery 的 ArtistQuery 数组进行排序【英文标题】:How do i sort MediaQuery's artistQuery Array alphabetically in iOS 【发布时间】:2013-01-29 18:11:01 【问题描述】:

在我的应用程序中,我加载 Artist 并输入 arrayOfArtists 并显示在 UITableView

所以我需要索引到我的UITableView。这就是为什么我需要像 ios 内置音乐应用程序一样按字母顺序对我的艺术家数组进行排序。

如上图,可以用Title索引到UITableView

所以我需要按字母顺序对我的艺术家数组进行排序。

我该怎么做?

这是我从 iPodLibrary 加载 Artist 的一些代码。

ViewDidLoad

    MPMediaQuery *query = [MPMediaQuery artistsQuery];
    query.groupingType = MPMediaGroupingAlbumArtist;
    self.arrayOfArtist = [query collections];

CellForRowAtIndexPath

cell.textLabel.text = [NSString stringWithFormat:@"%@",[[[self.arrayOfArtist objectAtIndex:indexPath.row] representativeItem] valueForProperty:MPMediaItemPropertyArtist]];

sectionForSectionIndexTitle

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index

    return 1;

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

        return [self.arrayOfArtist count];

我想按字母顺序显示TitleHeaderUITableView 来索引我的UITableView。 我怎样才能做到这一点? 谢谢各位。

【问题讨论】:

参考此博客,这将对您有所帮助。 icodeblog.com/2010/12/10/… 【参考方案1】:

使用选择器按字母顺序排序:

NSArray *sortedArray=[self.arrayOfArtist sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

【讨论】:

如何在 UITableView 的 TitleHeader 中显示该字母? 什么字母?选择的艺术家字符串? 没有兄弟。我想在 TitleLetter 下像上面的图像排序【参考方案2】:

X-开发者-X-

通过实施,我得到了与您想要的几乎相同的东西

-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

sectionIndexTitlesForTableView 生成屏幕右边缘的索引字符,titleForHeaderInSection 生成节之间的标题。我附上了结果的屏幕截图。我确信可以通过更改表格视图中的一些 GUI 设置来使其完全相同。我看到的区别是我的标题栏有点透明,其中的字符是白色的。

【讨论】:

以上是关于如何在 iOS 中按字母顺序对 MediaQuery 的 ArtistQuery 数组进行排序的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 中按字母顺序对 JSON 字符串进行排序?

如何在pyspark中按字母顺序对嵌套结构的列进行排序?

如何在数据库表中按字母顺序对列进行排序? [关闭]

如何在C中按顺序对带有数字和字母的文件名进行排序?

如何在 React.js 中按字母顺序对数组中的对象进行排序

我如何测试使用硒在下拉菜单中按字母顺序对项目进行排序