키 -> 값 저장을 지원할뿐만 아니라 배열과 마찬가지로 key
시퀀스를 지원하는 NSDictionary
개체가 필요합니다.주문 지원 NSDictionary 만들기
Objective-C에는 어떤 것이 있습니까?
키 -> 값 저장을 지원할뿐만 아니라 배열과 마찬가지로 key
시퀀스를 지원하는 NSDictionary
개체가 필요합니다.주문 지원 NSDictionary 만들기
Objective-C에는 어떤 것이 있습니까?
Monolo의 답변이이 작업을 수행하는 올바른 방법입니다.
[self allKeys]
은 순서가 지정된 시퀀스를 반환하지 않습니다. NSSet
스타일입니다.
그리고 나는 많은 기능을 가지고 있습니다 PLHash
라는 이름의 클래스를 작성 FIFO) 여기
는 URL https://github.com/xhan/PlutoLand/blob/master/PlutoLand/Additions/PLHash.h
입니다내장 된 것은 없지만 사전을 따라 사전 순으로 키 배열을 사용하여 주문을 녹음 할 수 있습니다.
나는이 기사를 발견했다 (그리고 링크 된 소스 코드) 유용 : http://cocoawithlove.com/2008/12/ordereddictionary-subclassing-cocoa.html
당신은 떨어져 가장 좋은 것 중 하나해서 AllKeys 배열을 받고 다음 키 값을 얻거나 자신의 클래스를 만드는 것은 저장하는 것을 정렬 당신이 원하는 방식으로 객체를 만듭니다. NSDictionary가 실제로 만들어지지 않은 무언가를하고있는 것처럼 들리지만, 키를 정렬하기를 원하는 것은 무엇입니까?
하나의 옵션은 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에 하위 클래스를 생각하지 않습니다 가야할 길입니다.