1

먼저 내 나쁜 영어에 대해 미안하다고 말하고 싶습니다. 당신이 비판 할 것이기를 바랍니다. 2 차원 다차원 NSMutablearray를 정렬하는 방법

내가 내 문제 세 가지 일 동안 검색하고 난 해결책 :( 내가 NSMutableArray를 포함 NSMutablearrays이 발견

내가 웹에서 데이터를 얻는 weboutput은 다음과 같습니다..

("클럽 2", "14", "클럽", "Weilimdorfer213" "(레스토랑 2, 10, 호텔, Solitudestr, 독일, "48.81155 ","9.10903 " , "Germany", "48.814", "9.1311666666667"), ("Thai Meat", "22", "Gastro", "Weilimdorfer193", "70469 Stuttgart", "48.813833333333" , "9.1328333333333"))

그래서 여기에 3 개의 NSMutablearray가 하나의 NSMutablearray 안에 있습니다. 내 셀뷰와 함께 내 Tableview에서 Array를 보여주고 있습니다.

제 질문은 어떻게 첫 번째 값으로 세 내부 배열을 정렬 할 수 있습니다. (첫 번째 값의 값 : 레스토랑 2, 클럽 2, 태국어 고기)

그래서 첫 번째 배열은 다음과 같아야합니다

("클럽 2", "14", "클럽", "Weilimdorfer213" "독일", "48.814", "9.1311666666667")

초 :

("레스토랑 2", "10", "호텔", "Solitudestr", "독일", "48.81155", "9.10903")

셋째

("타이어 육류", "22", "위장」, 「Weilimdorfer193", "70,469 슈투트가르트", "48.813833333333을" , "9.1328333333333")

어떤 정렬 기능을 사용해야합니까?

두 번째 단계에서는 주어진 좌표의 거리를 가져와 현재 위치와의 거리를 정렬하려고합니다.

나는 이미 거리를 얻었다. 그러나 이것을 어떻게 정렬할까요?

대단히 감사합니다!

+0

첫 번째 값 또는 다른 값의 문자열 길이를 정렬 하시겠습니까? –

+0

알파벳 순으로 정렬하고 싶습니다. – Martino

답변

1

배열을 사용하는 대신 정보를 저장하는 사용자 지정 개체를 만드는 경우 훨씬 쉽습니다.

Dave DeLong에 의해 작성된이 예제를 this 포스트에서 살펴보십시오.

//ScoreRecord.h 
@interface ScoreRecord : NSObject { 
    NSString * label; 
    NSUInteger score; 
} 
@property (nonatomic, retain) NSString * label; 
@property (nonatomic) NSUInteger score; 
@end 

//ScoreRecord.m 
#import "ScoreRecord.h" 
@implementation ScoreRecord 
@synthesize label, score; 

- (void) dealloc { 
    [score release]; 
    [super dealloc]; 
} 

@end 

//elsewhere: 
NSMutableArray * scores = [[NSMutableArray alloc] init]; 
ScoreRecord * first = [[ScoreRecord alloc] init]; 
[first setLabel:@"Label 1"]; 
[first setScore:1]; 
[scores addObject:first]; 
[first release]; 
//...etc for the rest of your scores 

당신이 당신의 scores 배열을 채워하면, 당신이 지금 할 수있는이 후

//the "key" is the *name* of the @property as a string. So you can also sort by @"label" if you'd like 
NSSortDescriptor * sortByScore = [NSSortDescriptor sortDescriptorWithKey:@"score" ascending:YES]; 
[scores sortUsingDescriptors:[NSArray arrayWithObject:sortByScore]]; 

, 당신의 scores 배열은 점수를 오름차순으로 정렬됩니다.

Collections Programming TopicsNSSortDescriptor을 살펴보십시오.

관련 문제