2014-05-13 2 views
-1

사전 (plist의 기본 사전에 포함 된)의 항목을 표시하는 uicollectionView가 있습니다. 내 사전에있는 "주문"키로 정렬해야합니다. 나는 이것을하는 방법을 생각할 수 없다. 내가 기술자를 사용하여 성공하지 않고 키를 비교하려고합니다.UICollectionView의 Plist에서 NSMutableDictionnary를 정렬하십시오.

nsmutablearrays에서 값을 가져와 셀에 표시합니다. 여기

내 코드 (미 분류 작업 thart 펜 하나는)

//To retreive the data from the plist 
NSMutableDictionary *items = [[NSMutableDictionary alloc] initWithContentsOfFile: finalPath]; 

//initialize arrays 

_order = [[NSMutableArray alloc]initWithCapacity:10]; 
_name = [[NSMutableArray alloc]initWithCapacity:10]; 
_role = [[NSMutableArray alloc]initWithCapacity:10]; 
_image = [[NSMutableArray alloc]initWithCapacity:10]; 
_description = [[NSMutableArray alloc]initWithCapacity:10]; 
_email = [[NSMutableArray alloc]initWithCapacity:10]; 
_googleplus = [[NSMutableArray alloc]initWithCapacity:10]; 

//load every NSDictionnary on the view 

NSMutableDictionary *loadedItem = [[NSMutableDictionary alloc]initWithCapacity:1]; 
NSMutableDictionary *theMember = [[NSMutableDictionary alloc]initWithCapacity:10]; 

loadedItem = [items objectForKey:@"Team"]; 

for (int i = 0; i < loadedItem.count; i++) { 

    theMember = loadedItem.allValues[i]; 

    NSString *memberOrder = [theMember objectForKey:@"order"]; 
    [_order addObject:memberOrder]; 
    NSLog(@"member order = %@", _order); 

    NSString *memberName = [theMember objectForKey:@"name"]; 
    [_name addObject:memberName]; 
    NSLog(@"member name = %@", _name); 

    NSString *memberRole = [theMember objectForKey:@"role"]; 
    [_role addObject:memberRole]; 
    NSLog(@"member role = %@", _role); 

    NSString *memberImage = [theMember objectForKey:@"image"]; 
    [_image addObject:memberImage]; 
    NSLog(@"member image = %@", _image); 

    NSString *memberDesc = [theMember objectForKey:@"description"]; 
    [_description addObject:memberDesc]; 
    NSLog(@"member description = %@", _description); 

    NSString *memberMail = [theMember objectForKey:@"email"]; 
    [_email addObject:memberMail]; 
    NSLog(@"member mail = %@", _email); 

    NSString *memberGoogleplus = [theMember objectForKey:@"googleplus"]; 
    [_googleplus addObject:memberGoogleplus]; 
    NSLog(@"member googleplus = %@", _googleplus); 
    } 
    [self.collectionView reloadData]; 

} 
+1

왜 NSDictionary를 정렬해야합니까? 의미가 없습니다. 대신에 키를 정렬하고 NSArray에 넣은 다음 키에 접근하여 NSDictionary 값을 얻지 않으시겠습니까? – Larme

+0

예. 정렬 할 데이터를 배열로 덤프 한 다음 NSSortDescriptor를 사용하여 정렬합니다. 다소 비슷한 문제에 대해서는 [http://stackoverflow.com/questions/2393386/best-way-to-sort-an-nsarray-of-nsdictionary-objects]를 확인하십시오. – Arash

+0

개념을 이해합니다. 그러나 나는 그것을 나의 경우에 적용 할 수 없었다. 조금 더 노골적으로 표현해 주실 수 있습니까? – Xavier

답변

0

I가 조작하는 것이 좋다 배열로 내 마이 ndict을 변경하여 처리.

관련 문제