2011-12-29 3 views
1

키 -> 값 저장을 지원할뿐만 아니라 배열과 마찬가지로 key 시퀀스를 지원하는 NSDictionary 개체가 필요합니다.주문 지원 NSDictionary 만들기

Objective-C에는 어떤 것이 있습니까?

답변

1

Monolo의 답변이이 작업을 수행하는 올바른 방법입니다.

[self allKeys]은 순서가 지정된 시퀀스를 반환하지 않습니다. NSSet 스타일입니다.

  • 키 값을 저장
  • 키 위해 지원
  • 항목 최대 크기 제어 (PLHash에 maxItems를 설정하고에 의해 항목을 유지합니다 :

    그리고 나는 많은 기능을 가지고 있습니다 PLHash라는 이름의 클래스를 작성 FIFO) 여기

는 URL https://github.com/xhan/PlutoLand/blob/master/PlutoLand/Additions/PLHash.h

입니다
0

내장 된 것은 없지만 사전을 따라 사전 순으로 키 배열을 사용하여 주문을 녹음 할 수 있습니다.

0

당신은 떨어져 가장 좋은 것 중 하나해서 AllKeys 배열을 받고 다음 키 값을 얻거나 자신의 클래스를 만드는 것은 저장하는 것을 정렬 당신이 원하는 방식으로 객체를 만듭니다. NSDictionary가 실제로 만들어지지 않은 무언가를하고있는 것처럼 들리지만, 키를 정렬하기를 원하는 것은 무엇입니까?

0

하나의 옵션은 nsdictionary에 범주를 작성하고 sortedKeys 또는 something이라고하며 정렬 된 [self allKeys]를 리턴합니다.

업데이트 : 지금은 내 휴대 전화에서 응답 아니에요, 여기 ARC 사용하고 내 지혜 로움에 대해 자세하게 작성 제안, 그리고 가정의 :

@interface NSDictionary (sort) 

- (NSArray *)sortedKeys; 

@end 

@implementation NSDictionary (sort) 

- (NSArray *)sortedKeys { 

    NSArray *keyArray = [self allKeys]; 
    NSArray *sortedKeyArray = [keyarray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; 

    return sortedKeyArray; 
} 

@end 

을 개인적으로 NSDictionary에 하위 클래스를 생각하지 않습니다 가야할 길입니다.