GHODictionary 1.1.0

GHODictionary 1.1.0

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Sep 2016

Maintained by Gabriel Handford.


Downloads

Total485,536
Week2,733
Month24,072

Installs

Apps1,853
Apps WeekApps This Week 117
Pod Tries8
Test Targets290
Test WeekTests This week 56
Watch Apps2
powered by Segment

GitHub

Stars5
Watchers1
Forks6
Issues0
Contributors2
Pull Requests0

Code

Files3
LOCLines of Code 195


  • By
  • Gabriel Handford

Ordered dictionary. Enumeration occurs in the order that entries were added. If an item is overwritten, the order is unchanged.

For example,

#import <GHODictionary/GHODictionary.h>

GHODictionary *dict = [GHODictionary dictionary];
dict[@"key1"] = @(1);
dict[@"key2"] = @(2);
dict[@"key1"] = @(3);

for (id key in dict) ... // @"key1", @"key2" 

[dict allKeys]; // The same as enumeration, @"key1", @"key2"

[dict map:^(id key, id value) { ... }]; // (@"key1", @(3)), (@"key2", @(2))

If you want to overwrite a value and have it moved to the end of the ordering, then remove it and re-add:

dict[@"key1"] = nil;
dict[@"key1"] = @(3);
[dict allKeys]; // @"key2", @"key1"

Because it is ordered, it is also sortable:

dict[@"b"] = @(2);
dict[@"c"] = @(3);
dict[@"a"] = @(1);
[dict sortKeysUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

[dict allKeys]; // @"a", @"b", @"c"

Podfile

pod "GHODictionary"

Cartfile

github "gabriel/GHODictionary"