2013-08-16 2 views
2

MPMediaQuery에서 생성되는 UITableView의 기본 정렬을 수행하고 싶습니다.정렬 UITableView

내가 원했던 것은 A, B, C, D 등의 섹션으로 노래를 정렬하는 기본적인 노래 목록 만 갖고 싶다는 것입니다. 어렵지는 않겠지 만 따르려고했던 모든 자습서는 끝나지 않습니다. 그 결과를 나에게주는 것.

도움이 될 것입니다. 여기 내 기본 코드입니다. 나는 이것이 내가 성취하고자하는 것에 가깝지 않다는 것을 알았지 만, 노련한 개발자가이 시점에서 내가했던 혼란을 쉽게 도울 수 있다고 생각했다.

데이터 생성 방법 :

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

이 내 jQuery과 방법은 다음과 같습니다

- (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; 
} 
+0

이 시도하십시오 -> http://stackoverflow.com/questions/5820979/objective-c-sort-an-array-of- 끈 – Vinodh

답변

0

가 유 예를 들어 배열을 정렬 할 필요가


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


0

이 배열에서 객체와 사전이며 다음이 할 perticular 키 배열을 정렬하려면 :

정적있는 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]; 
}]; 
0

사용이,이 유용하게 사용될 수 있습니다

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