排序 UITableView

Posted

技术标签:

【中文标题】排序 UITableView【英文标题】:Sorting UITableView 【发布时间】:2013-08-16 03:28:27 【问题描述】:

我想对从MPMediaQuery 生成的UITableView 进行基本排序。

我想要的只是有一个基本的歌曲列表,将歌曲分类为 A、B、C、D 等部分。应该不难,但我尝试遵循的每个教程最终都没有给出我完全没有这些结果。

任何帮助都会很棒。这是我的基本代码。我意识到这甚至还没有达到我想要完成的目标,但我认为经验丰富的开发人员从这一点开始帮助我会更容易,而不是我陷入困境。

我如何生成数据:

MPMediaQuery *musicLibraryQuery = [[MPMediaQuery alloc] init];
NSArray *musicLibraryArray = [musicLibraryQuery items];
songLibrary = [NSMutableArray arrayWithArray:musicLibraryArray];

这些是我的 UITableView 方法:

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

    return [songLibrary count];


- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    static NSString *CellIdentifier = @"SongCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(!cell)
    
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    

    MPMediaItem *song = [[songLibrary objectAtIndex:[indexPath row]] representativeItem];

    cell.textLabel.text = [song valueForProperty:MPMediaItemPropertyTitle];

    return cell;

【问题讨论】:

请试试这个 -> ***.com/questions/5820979/… 【参考方案1】:

例如你需要对数组进行排序

songLibrary = [musicLibraryArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];

【讨论】:

【参考方案2】:

如果您的 Array 中有 Dictionary 作为对象,并且您想为特定键排序数组,请执行以下操作:

静态 NSString* const keyToSortBy = @"keyToSortBy";

NSArray * sortedArray = [array sortedArrayUsingComparator:^(id obj1, id obj2) 
    NSString *s1 = [obj1 objectForKey:keyToSortBy];
    NSString *s2 = [obj2 objectForKey:keyToSortBy];
    return [s1 caseInsensitiveCompare:s2];
];

【讨论】:

【参考方案3】:

用这个,可能会有用

songLibrary=[songLibrary sortedArrayUsingSelector:@selector(compare:)];

【讨论】:

以上是关于排序 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 tableview 特定行但特定行包含 uibutton。按钮必须访问

Objective-c——UI基础开发第六天(UITableView)

插入排序(直接插入排序希尔排序);交换排序(冒泡排序快速排序);选择排序(简单选择排序堆排序);归并排序和基数排序;基于关键词比较的排序算法下界分析

九种经典排序算法详解(冒泡排序,插入排序,选择排序,快速排序,归并排序,堆排序,计数排序,桶排序,基数排序)

冒泡排序,快速排序,归并排序,插入排序,希尔排序,堆排序,计数排序,桶排序,基数排序

常见排序算法的实现(归并排序快速排序堆排序选择排序插入排序希尔排序)