문제

내 자신을 구현하는 대신, 내가 사용할 수있는 Objective-C에서 히스토그램이나 백 데이터프라 구현을 아는 사람이 궁금했습니다.

본질적으로 히스토그램은 목록에 해시 항목과 관련된 값이 포함 된 목록의 해시 맵입니다. 좋은 예는 각 품목 유제품, 고기, 통조림 제품을 자신의 가방에 넣는 슈퍼마켓 품목의 히스토그램입니다. 그런 다음 해당 유형에 따라 각 항목 그룹에 쉽게 액세스 할 수 있습니다.

도움이 되었습니까?

해결책

nscountedset a 멀티 셋 뚜렷한 물체를 계산하지만 복제를 허용하지 않는 (일명 "백"). 그러나 당신의 설명에 근거하여, 나는 그것이 당신이 필요로하는 것이라고 생각하지 않으며, 히스토그램, (일반적으로 숫자) 범위를 기준으로 값을 자동으로 버킷으로 삼습니다.

나는 당신이 정말로 원하는 것이 멀티 맵, "1 ~ 더 많은 값의 핵심"관계입니다. 그만큼 데이터 구조 프레임 워크 나는 포함된다 chmultidictionary, 멀티 맵 구현. 나는 그것이 완벽하거나 완전하다고 주장하지는 않지만, 그것이 당신의 문제에 도움이되기를 바랍니다.

다른 팁

당신이 단순히 배열 사전을 원하는 것처럼 들립니다. nsarrays를 nsdictionarys의 요소로 넣을 수 있습니다.

NSMutableDictionary* dict = [NSMutableDictionary dictionary];
[dict setObject:[NSMutableArray arrayWithObjects:@"milk", @"eggs", @"cheese", nil] forKey:@"dairy"];
[dict setObject:[NSMutableArray arrayWithObjects:@"steak", @"sausages", @"mince", nil] forKey:@"meat"];

[[dict objectForKey:@"meat"] addObject:@"lamb"];

NSLog( @"Dictionary is %@", dict );

하나가 있습니다 GNU Objective-C 클래스 라이브러리, 하지만 문서 꽤 불완전하고 프로젝트가 보입니다 홈페이지 현재 문제가 있어야합니다. 그래도 GPL 소프트웨어가 프로젝트에 수용 가능한 경우 다운로드 그리고 출처를 확인하십시오.

cfiomultimap 분명히 멀티 맵의 구현입니다. 그러나 글을 쓰는시기에 나는 그것을 작동시킬 수 없었습니다. 내가 구독 할 때 항상 nils를 반환합니다.

아마도 그것은 당신의 사용에 고정되고 적응 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top